📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 165
ClientTop = 735
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 'Windows Default
Begin VB.Menu mnuExit
Caption = "退出"
End
Begin VB.Menu mnuSysNew
Caption = "新菜单"
Begin VB.Menu mnuNew1
Caption = "新菜单1"
End
Begin VB.Menu mnuNew2
Caption = "新菜单2"
End
Begin VB.Menu mnuNew3
Caption = "新菜单3"
End
Begin VB.Menu mnuNew4
Caption = "新菜单4"
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPos As Long _
) As Long
Private Declare Function GetMenuItemID Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPos As Long _
) As Long
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, _
ByVal bRevert As Long _
) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long _
) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long, _
ByVal wIDNewItem As Long, _
ByVal lpString As Any) _
As Long
Private Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long, _
ByVal wIDNewItem As Long, _
ByVal lpNewItem As Any _
) As Long
Private Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" _
(ByVal hMenu As Long, _
ByVal wIDItem As Long, _
ByVal lpString As String, _
ByVal nMaxCount As Long, _
ByVal wFlag As Long _
) As Long
Private Const MF_BYCOMMAND = &H0&
Private Const MF_BYPOSITION = &H400&
Private Const MF_CHANGE = &H80&
Private Const MF_REMOVE = &H1000&
'子过程
'除去系统菜单中旧的菜单项
Private Sub RemoveOldMenu()
Dim hSysMenu As Long
Dim nCnt As Long
hSysMenu = GetSystemMenu(Me.hwnd, False)
If hSysMenu Then
' 取得系统菜单中的数量
nCnt = GetMenuItemCount(hSysMenu)
If nCnt Then
Dim i As Integer
' 编号 (0, 1, 2, 3...)
For i = nCnt - 2 To 0 Step -1 '第一项不除去
RemoveMenu hSysMenu, i, MF_BYPOSITION Or MF_REMOVE
Next i
End If
End If
End Sub
'插入新的菜单项
Private Sub InsertMyMenu()
Dim hSysMenu As Long
Dim hMenu As Long
Dim hSubMenu As Long
Dim hMenuID As Long
Dim sMenuString As String
Dim nCnt As Integer
sMenuString = Space(20)
hSysMenu = GetSystemMenu(Me.hwnd, False) '获得系统菜单句柄
hMenu = GetMenu(Me.hwnd) '获得窗体菜单句柄
hSubMenu = GetSubMenu(hMenu, 1) '获得子菜单句柄
For nCnt = 0 To 3
hMenuID = GetMenuItemID(hSubMenu, nCnt) '获得菜单ID号
GetMenuString hSubMenu, nCnt, sMenuString, Len(sMenuString), MF_BYPOSITION '获得菜单的标题
If nCnt = 0 Then
'第一项菜单项没有去掉,用修改函数
ModifyMenu hSysMenu, nCnt, MF_BYPOSITION, hMenuID, sMenuString
Else
'其它项用插入函数
InsertMenu hSysMenu, nCnt, MF_BYPOSITION, hMenuID, sMenuString
End If
Next nCnt
End Sub
Private Sub Form_Load()
Call RemoveOldMenu
Call InsertMyMenu
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -