关于窗体的API
GetMenu
获得窗体中一个菜单的句柄
声明:Public Declare Function GetMenu Lib "user32" Alias "GetMenu" (ByVal hwnd As Long) As Long
hwnd:包含菜单的窗口的句柄
GetSubMenu
获得一个弹出式菜单的句柄和它位于菜单中指定位置
声明:Public Declare Function GetSubMenu Lib "user32" Alias "GetSubMenu" (ByVal hMenu As Long, ByVal nPos As Long) As Long
hMenu:指定菜单的句柄
npos:返回弹出菜单在菜单中位置
(如:菜单第一个(比如“文件”),其npos为0,依此类推)
SetMenuItemBitmaps
设置一幅位图,在指定的菜单条目中使用。
Public Declare Function SetMenuItemBitmaps Lib "user32" Alias "SetMenuItemBitmaps" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
参数:
hmenu:GetSubMenu
nposition:预设位图的一个菜单条目的标识符
Wfags:为MF_BYCOMMAND 或MF_BYPOSITION ,取决于nposition
hBitmapVnchecked:撤消复选时为菜单条目显示一幅位图
hBitmapchecked:复选时为菜单条目显示一幅位图图片
常数
Public Const MF_BYPOSITION = &H400&
Public Const MF_BYCOMMAND = &H0&
通过如上介绍,我们便可以写出一段图形菜单的代码:
Dim MHandle As Long
Dim pic As Long
Dim SMHande As Long
MHandle=GetMenu(Me.hwnd)
SMHandle=GetSubMenu(MHandle,0)
pic=SetMenuItemBitmaps(SMHandle,0,MF_BYPOSITION ,New.picture,New.picture)
菜单项为"文件"
"--新建(Nwe)"
(半转载)