大家可能都会" 用vb编写菜单程序," vb中有菜单编辑器可以轻松地" 编写命令按钮菜单,但大家可能对图形菜单的制作不太了解(如下图)。他可能" 在vc中编写比较容易。要在" vb中就要引用" API编写。下面就给大家介绍一下编写过程。

先介绍一下菜单的基本知识,对" 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 LonghMenu = 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: =,表示失败。