
先介绍一下菜单的基本知识,对vb而言每一个菜单命令或子菜单,都算是一个菜单对象,但对WINDOWS而言,会以一个hMenu(菜单句柄)代表整个菜单,而每一个子菜单则以一个hSubMenu(子菜单句柄)来代表,但每一个菜单命令(MenuItem)则不再给予handle(句柄),而是以Menu ID代表。
为获得某一个Form的hMenu,我们必须调用GetMenu API函数:
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
参数 HWnd:某一个含有菜单窗口hWnd。
返回值 若该菜单含有菜单,则返回hMenu,否则返回0。
调用 Dim hMenu As Long
hMenu = GetMenu(Me.hwnd) `获取窗口句柄
接下来要取得菜单的hSubMenu,则是调用GetSubMenu API函数:
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
参数 hMenu:传入hMenu 。
npos:欲取得subMenu的位置,subMenu的位置从0算起。
返回值 不等于0,表示hSubMenu: =,表示失败。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



