您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > VB开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

在菜单中加入图标
2001-11-24· · ··yesky

上一页  1 2 3 4  

  取得菜单的句柄并赋值给mHandle

mHandle = GetMenu(hwnd)

  取得mHandle句柄所指菜单的第一个弹出式菜单(文件&F)的句柄并赋值给sHandle

sHandle = GetSubMenu(mHandle, 0)

  将弹出式菜单的第0-4项加上图片,为什么跳过2呢?因为2是分割线

lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, imOpen.Picture, imSave.Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, imSave.Picture, imSave.Picture)
lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, imPrint.Picture, imPrint.Picture)
lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, imPrintSetup.Picture, imPrintSetup.Picture)

  取得mHandle句柄所指菜单的第二个弹出式菜单(编辑&E)的句柄并赋值给sHandle

  sHandle = GetSubMenu(mHandle, 1)
  取得sHandle句柄所指菜单的第一个次级菜单(次级菜单&S)的句柄并赋值给sHandle2

  sHandle2 = GetSubMenu(sHandle, 0)
  将次级菜单中的第1项加上图片

  lRet = SetMenuItemBitmaps(sHandle2, 0, MF_BYPOSITION, imCopy.Picture, imCopy.Picture)
  提示:在SetMenuItemBitmaps()我们把后两项设为相同的图片,如果设为不同的两张图片会有什么效果呢?
  原来这两张图片分别表示复选和撤消复选时的状态,你只须在菜单项被点击的函数中加入以下语句:

Private Sub mnuOpen_Click()
If mnuOpen.Checked = True Then
mnuOpen.Checked = False
Else: mnuOpen.Checked = True
End If
End Sub

  然后在SetMenuItemBitmaps()我们把后两项设为不同的图片即可,有兴趣的话试一试。
  End Sub

上一页  1 2 3 4  

■ 相关内容
 做个万无一失的QQ高手
 “回调”(CallBacks)的实现
 利用VB编写屏幕保护程序
 建立文件关联
 利用Api函数计算Windows从启动后所运行的总时间
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!