📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "带图标的菜单"
ClientHeight = 2340
ClientLeft = 132
ClientTop = 708
ClientWidth = 4368
LinkTopic = "Form1"
ScaleHeight = 2340
ScaleWidth = 4368
StartUpPosition = 3 '窗口缺省
Begin VB.PictureBox Pic
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
Height = 384
Left = 1920
Picture = "Form1.frx":0000
ScaleHeight = 384
ScaleWidth = 384
TabIndex = 0
Top = 1080
Width = 384
End
Begin VB.Menu M_Main_File
Caption = "&File"
Begin VB.Menu M_Item1
Caption = "Item0"
Index = 0
End
Begin VB.Menu M_Item1
Caption = "Item1"
Index = 1
End
Begin VB.Menu M_Item2
Caption = "Item2"
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 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 CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Const SRCCOPY = &HCC0020
Const MF_BITMAP = &H4&
Const MF_BYPOSITION = &H400&
Private Sub Form_Load()
Dim nLoopCtr As Integer
Dim lResult As Long
Dim hTempDC As Long
Dim nWidth As Long
Dim nHeight As Long
Dim lTempID As Long
Dim hMenuID As Long
Dim lItemCount As Long
Dim hBitmap As Long
nWidth = Pic.Width \ Screen.TwipsPerPixelX
nHeight = Pic.Height \ Screen.TwipsPerPixelY
hMenuID = GetSubMenu(GetMenu(Me.hwnd), 0)
hTempDC = CreateCompatibleDC(Pic.hdc)
For i = 0 To 1
hBitmap = CreateCompatibleBitmap(Pic.hdc, nWidth, nHeight)
lTempID = SelectObject(hTempDC, hBitmap)
lResult = BitBlt(hTempDC, 0, 0, nWidth, nHeight, Pic.hdc, 0, 0, SRCCOPY)
lTempID = SelectObject(hTempDC, lTempID)
M_Item1(i).Caption = ""
lResult = ModifyMenu(hMenuID, i, MF_BYPOSITION Or MF_BITMAP, GetMenuItemID(hMenuID, i), hBitmap)
Next i
lResult = DeleteDC(hTempDC)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -