PDA

Click to See Complete Forum and Search --> : how to create menu with bitmaps using windows api


akp@yahoo.com
Mar 15th, 2001, 04:40 AM
how to create menu with bitmaps through windows api

Ceri
Mar 15th, 2001, 06:28 AM
Well, here goes.

This bit of code show how to add bitmaps to current menus that where inserted using the VB Menu Editor

'This project needs a form with a menu with at least one submenu
'It also needs a picturebox, Picture1, that contains a small b/w bitmap

Const MF_BYPOSITION = &H400&
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 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
Private Sub Form_Load()

Dim hMenu As Long, hSubMenu As Long
'get the handle of the menu
hMenu = GetMenu(Me.hwnd)
'check if there's a menu

If hMenu = 0 Then
MsgBox "This form doesn't have a menu!"
Exit Sub
End If

'get the first submenu

hSubMenu = GetSubMenu(hMenu, 0)
'check if there's a submenu

If hSubMenu = 0 Then
MsgBox "This form doesn't have a submenu!"
Exit Sub
End If

'set the menu bitmap
SetMenuItemBitmaps hSubMenu, 0,MF_BYPOSITION,

Picture1.Picture, Picture1.Picture

End Sub