打印本文 打印本文 关闭窗口 关闭窗口
VB高级界面编程(一)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数796  更新时间:2009/4/23 14:58:38  文章录入:mintao  责任编辑:mintao
   大家可能都会用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 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: =,表示失败。

打印本文 打印本文 关闭窗口 关闭窗口