首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

VB5制作上下文菜单

打印文章

分享到:
在Win 95中,我们常常通过单击鼠标右键来激活一个快捷菜单,从而加快了操作。此处所说的快捷菜单就是上下文菜单。上下文菜单在VB5中又称作弹出式菜单,它是独立于菜单栏而显示在窗体上的浮动菜单。在弹出式菜单上显示的项目取决于按下鼠标右键时指针所处的位置。
    为了显示弹出式菜单,可使用PopupMenu 方法。这个方法使用下列语法:
[object .]PopupMenu menuname [,flags [,x [,y [,boldcommand]]]]。
    例如:当用鼠标右键单击一个窗体时,以下的代码显示一个名为mnuFile 的菜单。可用MouseUp 或者MouseDown 事件来检测何时单击了鼠标右键:Private Sub Form_MouseUp (Button As Integer ,Shift As _Integer ,XAs Single ,Y As Single)If Button =2Then '检查是否单击了鼠标右键PopupMenu mnuFile '把文件菜单显示为一个弹出式菜单End IfEnd Sub
       直到菜单中被选取一项或者点击窗体取消这个菜单时,调用Pop—upMenu 方法后面的代码才会运行。注意每次只能显示一个弹出式菜单。在已显示一个弹出式菜单的情况下,对后面的调用PopupMenu 方法将不予理睬。在一个菜单控件正活动的任何时刻,调用PopupMenu方法均不会被理睬。
    我们常常会用一个弹出式菜单来访问那些在菜单栏中不常用的选项。为创建一个不显示在菜单栏里的菜单,可在设计时使顶级菜单项目为不可见(保证在菜单编辑器里的“Visible”复选框没有被选上)。当Visual Basic 显示一个弹出式菜单时,指定的顶级菜单的Visible 属性会被忽略。
    可是现在我们做一下,会发现这与Win 95的上下文菜单还是有些不同,当显示了一个上下文菜单时,如果不选取一项,而在别的地方单击鼠标右键,就会没有任何反应。怎么办呢,我们通过以下过程解决:Private Sub Form_MouseDown(Button As Integer ,Shift As Integer ,_XAs Single ,Y As Single)SendKeys "{ESC}"End Sub
    再试一下,看是不是和Win 95的一样了。记住,要想做一个好的软件,没有上下文菜单可是不行的。(山东省济宁市公路设计院李飚272113)

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章