创建位图菜单

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论


  在Form1上添加第二个菜单项,将它的标题设置为“[&A]脸谱”,名称设置为mnuFace。在其下添加4个子菜单项,分别将改4个子菜单项的名称设置为“[N]正常”,“[&S]微笑”,“ [&L]大笑”,以及“[&O]悲伤”。将它们的名称设置为“mnuFaceSel”,并相应将这4个子菜单项的索引设置为0,1,2,3。
  将如下的代码添加到Form1的Form_Load事件中:
  Private Sub Form_Load()
  Dim nLoopCtr As Integer
  Dim lResult As Long
  Dim hTempDC As Long
  Dim nWidth As Integer
  Dim nHeight As Integer
  Dim lTempID As Long
  Dim hMenuID As Long
  Dim lItemCount As Long
  Dim hBitmap As Long
  nWidth = Picture1(nLoopCtr).Width / Screen.TwipsPerPixelX
  nHeight = Picture1(nLoopCtr).Height / Screen.TwipsPerPixelY
  hMenuID = GetSubMenu(GetMenu((Me.hwnd)), 1)
  hTempDC = CreateCompatibleDC(Picture1(nLoopCtr).hdc)
  For nLoopCtr = 0 To 3
  hBitmap = CreateCompatibleBitmap(Picture1(nLoopCtr).hdc, nWidth,
  nHeight)
  lTempID = SelectObject(hTempDC, hBitmap)
  lResult = BitBlt(hTempDC, 0, 0, nWidth, nHeight, (Picture1(nLoopCtr).
  hdc), 0, 0, SRCCOPY)
  lTempID = SelectObject(hTempDC, lTempID)
  mnuFaceSel(nLoopCtr).Caption = ""
  lResult = ModifyMenu(hMenuID, nLoopCtr, MF_BYPOSITION Or MF_BITMAP,
  GetMenuItemID(hMenuID, nLoopCtr), hBitmap)
  Next nLoopCtr
  lResult = DeleteDC(hTempDC)
  End Sub
  将如下的代码添加到“退出”子菜单的单击事件中:
  Private Sub mnuExit_Click(Index As Integer)
  Select Case Index
  Case 0
  Unload Me
  End Select
  End Sub
  运行该样例程序,单击“脸谱”菜单,则会看到由4个脸谱图标所形成的位图子菜单项,如图1所示。单击“文件”/“退出”菜单可退出应用程序。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答