|
|
Title | Easily add bitmaps to menus |
Keywords | menu, picture, bitmap, image |
Categories | Controls |
|
|
Use the GetMenu, GetSubMenu, and SetMenuItemInfo API functions.
This program's SetMenuBitmap subroutine takes an array of numbers giving the position of the menu item to assign the bitmap. For example, the values:
Array(0, 2, 1)
assigns a bitmap to menu 0, submenu 2, item 1.
|
|
' Put a bitmap in a menu item.
Public Sub SetMenuBitmap(ByVal frm As Form, ByVal _
item_numbers As Variant, ByVal pic As Picture)
Dim menu_handle As Long
Dim i As Integer
Dim menu_info As MENUITEMINFO
' Get the menu handle.
menu_handle = GetMenu(frm.hwnd)
For i = LBound(item_numbers) To UBound(item_numbers) - 1
menu_handle = GetSubMenu(menu_handle, _
item_numbers(i))
Next i
' Initialize the menu information.
With menu_info
.cbSize = Len(menu_info)
.fMask = MIIM_TYPE
.fType = MFT_BITMAP
.dwTypeData = pic
End With
' Assign the picture.
SetMenuItemInfo menu_handle, _
item_numbers(UBound(item_numbers)), _
True, menu_info
End Sub
|
|
|
|
|
|