科技信息2008年第28期
SCIENCE&TECHNO LO GY INFORMATION
一、菜单设计有如下的一般性原则:
1.按照系统的功能来组织菜单。
2.要选用广而浅的菜单树,而不是窄而深的菜单树。
3.根据菜单选项的含义进行分组;并且按一定的规则排序。菜单选项的标题要力求简短、含义明确,并且最好以关键词开始。
4.常用选项要设置快捷键。结合以上的原则,菜单编程有以下几方面的技术和技巧:
二、菜单选项的分组
在VB中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个Captio n属性为“”的菜单项,它在菜单上就表现为一条横线。
1.常用选项快捷键的设置
打开菜单设计窗口(M enu Design Windo w),应对于每个菜单选项有相应的快捷键(Shortcut)列表,在该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照Windo ws的界面设计原则,顶层菜单的快捷键的形式是Alt字母键。它的实现方法在后文另叙。
对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用C TRL O,文件存盘用CRT L S,打印用CT RL P,等等。
为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。
2.菜单选项的使能与禁止、可见与隐藏为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变改选项的E nabled属性实现的。举例来说,假设菜单选项名为nmuName,则禁止该选项可以如下实现:
m nuName.Enabled=False同理,隐藏一个选项可以用
m nuName.Visible=False来实现,而使一个隐藏的选项恢复可见则用
m nuName.Visible=T rue实现。
菜单项的隐藏与恢复可见常常用在动态菜单的实现中。
3.菜单项的动态装入
菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。
在上面的例子里,就综合运用了菜单项的下标属性(Index)、标题属性(C aption)、可见属性(Visible)以及菜单项的装入方法(L oad M etho d)。
具体的实现过程如下:
在文件菜单里增加一个菜单项,标题任意,并假设菜单项的Name 属性是o pened_files_list;
更改菜单项opened_files_list的可见属性,使opened_files_list. Visible=False
更改菜单项o pened_files_list的下标属性,使o pened_files_files_list.Index=0
在程序中控制菜单项opened_files_list的动态装入。
假设要显示打开过的第二文件的文件名,并且该文件名存放在一个文件名数组o pened_file_name里。以下的代码就实现了这一功能: L oad o pened_files_list(1)
o pened_files_lise(1).C aption="&2"opened_file_name(1)
o pened_files_list(1).Visible=T rue
4.弹出式菜单的实现(Po pupMenu M etho d)
VB中在菜单设计窗口(Menu Desig n Window)中设计的菜单是下拉式菜单。下拉式菜单是用户在任何时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。
在VB中,弹出式菜单的实现要用到下拉式菜单设计的技术和PopupM enu方法。具体的做法是:
在菜单设计窗口(Menu Desig n Window)里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单必须至少有一个子菜单;因而这个菜单不能有快捷键,并且Checked属性必须是False。再把弹出式菜单的Visible属性改为False。
在具有设计好的弹出式菜单的窗体的Form_Click中加入以下代码(假设弹出式菜单的Name属性是mnuEx am ple):
Sub Fo rm_Click()
PopupM enu m nuExample
End Sub
如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在Form_M ouseDown里加入如下代码:
Sub Fo rm_M o useDow n(Button As Integer,Shift As Integer,x As Sing le,y As Single)
If Button=2then Button=2表示鼠标右键
PopupM enu m nuExample
End If
PopupM enu的完整句法是:
visual basic pdf[Form.]Po pupM enu menuname[flags[,x[,y]]]
改变flags的值可以控制弹出式菜单的表现形式。Flags有两组值。第一组值用来控制菜单的显示方式,包括OPUPM ENU_L EFTAL IGNPOPUPM ENU_CENTERAL IGN,
POPUPM ENU_RIGHT ALIGN,分别表示以x为左边界,以x为中心和以x为右边界的显示方式,并且以x为左边界是缺省的方式;另外一组值用来控制菜单项的选中方式,包括POPUPM ENU_LEFT BUT
T ON 和POPUPM ENU_RIGHT BUTT ON,分别表示左键选中和左/右键选中均可,并且左键选中是缺省的方式。Flag s的值由上面的两组值经过OR运算得出。例如,要求左对齐显示并且左键选中为准,则应有: flag s=POPUPM ENU_L EFTAL IGN o r POPUPME NU_L EFTBUT TON x和y用来定义菜单弹出的位置、缺省是鼠标点中的位置。
5.菜单项的其他属性
用AL T字母键激活顶层菜单,或者在菜单激活后用字母键激活一个菜单项,必须学会使用&。&用在菜单项的标题属性(Captio n)里。它的用法和作用与在用C语言编制的Windo ws程序中的用法和作用相同。
[责任编辑:张新雷]
VisualBasic中的菜单设计的原则和编程
彭丹
(威海职业学院山东威海264200)
【摘要】本文详细述说了在VB中设计菜单时的几项原则以及针对这几项菜单的编程语句。
【关键词】原则;菜单
○I T技术论坛○
69
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论