需求:一個Menu功能表與一個ImagelistBox
主表單程式碼
Option Explicit '強制變數宣告
'在表單載入時開始設定
Private Sub Form_Load()
hMenu = GetMenu(hwnd) '判斷是否有功能表欄位
hSubMenu = GetSubMenu(hMenu, 0) '取得功能表欄位中的子功能表位置
For intCounter = 1 To 3
menuID = GetMenuItemID(hSubMenu, intCounter - 1)
Back = SetMenuItemBitmaps(hMenu, menuID, wFlags, ImageList1.ListImages(intCounter).Picture, ImageList1.ListImages(intCounter).Picture)
Next
End Sub
'-------------------------------------------------------------------------------------------------
'結束程式(按下功能表Exit項目)
Private Sub mnuDemoExit_Click()
Unload Me
End Sub
模組程式碼
Option Explicit
'Getmenu取得Form的功能表欄位(hMenu)
Public Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
'GetSubMenu取得功能表欄位中的"子功能表(SubMenu)"
'參數hMenu-->傳入功能表欄位
'參數nPos-->想要取得的SubMenu位置,從0起算
Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
'GetMenuItemID 取得子功能表中命令的ID
'參數hMenu-->傳入功能表欄位
'參數nPos-->想要取得的功能表命令位置,從0起算
Public Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
'SetMenuItemBitmaps 設定子功能表中命令的圖形
'參數hMenu-->傳入功能表欄位
'參數nPosition-->想要設定圖形的功能表命令位置或MenuID,從0起算
'參數wflags-->想要設定圖形的功能表命令位置或MenuID,從0起算,可直接填入"wflags"
'參數hBitmapUnchecked-->命令未核取時的圖形
'參數hBitmapchecked-->命令核取時的圖形
Public Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
|