当前位置:编程学习 > VB >>

VB6.0实例学习--使用右键菜单的例子

右键菜单能让软件的使用者快捷的完成操作,那么如何把右键菜单用在自己写的程序中呢?在这个小程序中我们能看到编辑并使用右键菜单的方法。  

为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:

'--------------------------------------
'           弹出鼠标右键菜单
'--------------------------------------
'           洪恩在线 求知无限
'--------------------------------------
'------名称-------------作用------------
'       CmdCancel       退出按钮
'       mnublue         “兰色”菜单项
'       mnured          “红色”菜单项
'       RichTextBox1    文本框
'       PopupFrm        主窗体
'       mnufile         右键菜单的名字
'--------------------------------------

Private Sub CmdCancel_Click()

Unload Me

End Sub


'当弹出式菜单的“红色”项被点击时
Private Sub mnured_Click()
'把RichTextBox框中的背景色设置为红色
RichTextBox1.BackColor = vbRed

End Sub

'当弹出式菜单的“兰色”项被点击时
Private Sub mnublue_Click()
'把RichTextBox框中的背景色设置为兰色
RichTextBox1.BackColor = vbBlue

End Sub

'当文本框上出现鼠标按下的事件时
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'MouseDown事件各种语法包含下列部分:
'button  返回一个整数,用来标识该事件的产生是按下哪个按钮
'其中 左按钮(位 0),右按钮(位 2),以及中间按钮(位 4)
'shift   返回一个整数,标示是否同时有Shift,Ctrl,Alt键按下
'x, y    返回一个指定鼠标指针当前位置的数
'Button = 2 表示右键按下
If Button = 2 Then
'PopupMenu方法用来弹出一个菜单
'语法是 object.PopupMenu menuname, flags, X, Y
'mnufile是我们在菜单编辑器中设计好的菜单
'X,Y是弹出菜单的位置,可以为数字,如果直接写为X,Y则是在当前鼠标位置弹出菜单
PopupFrm.PopupMenu mnufile, 0, X, Y
End If

End Sub


 

  我们先打开菜单编辑器(在工具菜单中),然后添加一个一级菜单Popmenu,将它的Visible属性设为“False”,这代表菜单在程序运行时是看不到的,由于一级菜单是二级菜单的上级菜单,所以二级菜单也是看不到的。然后我们来添加几个二级菜单,注意每个菜单都有Caption属性和Name属性,这两个属性是必须写的,Caption属性是显示在菜单项上的内容,而Name属性则是我们要在程序中引用菜单项的代号,类似与其它控件的Name属性。而菜单中分隔线是通过把Caption属性设为“-”来实现的。
编辑菜单
  菜单编辑好后,就能在程序中引用并控制它,在本例中我们希望在文本框上点击鼠标右键时弹出这个右键菜单,则需要在文本框的MouseDown事件中加入控制语句:
 Private Sub RichTextBox1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) 
 If Button = 2 Then          '如果是鼠标右键按下时
  Form1.PopupMenu mnufile, 0, X, Y  '弹出右键菜单
 End If
 End Sub
  其中MouseDown事件各个参数意义如下:
 button返回一个整数,用来标识该事件的产生是按下哪个按键,其中左键为0,右键为2,中间键为4 
 shift 返回一个整数,标示是否同时有Shift,Ctrl,Alt键按下
 x, y 返回一个指定鼠标指针当前位置的数
  Popupmenu是一个方法:
 PopupMenu方法用来弹出一个菜单,语法是:object.PopupMenu menuname, flags, X, Y
 mnufile是我们在菜单编辑器中设计好的菜单的名称
 X,Y是弹出菜单的位置,可以为数字,如果直接写为X,Y则是在当前鼠标位置弹出菜单
  这样就能调出右键菜单,然后我们根据自己的需要,为每个菜单项的Click事件编写代码,完成一些特定的操作,右键菜单就可以使用了。最后效果如下图所示
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,