提供简单的错误处理。系统要有错误处理的功能。在出现错误时,系统应该能检测出错误,并且提供简单和容易理解的错误处理的功能。错误出现后系统的状态不发生变化,或者系统要提供错误恢复的指导。
提供信息反馈。对操作人员的重要操作要有信息反馈。对常用操作和简单操作的反馈可以不作要求,但是对不常用操作和至关重要的操作,系统应该提供信息的反馈。
操作可逆。操作应该可逆。这对于不具备专门的知识的操作人员相当有用。可逆的动作可以是单个的操作,或是者一个相对独立的操作序列。
设计良好的联机帮助。虽然对于熟练用户来说,联机帮助并非必不可少,但是对于大多数不熟练用户来说,联机帮助具有非常重要的作用。
菜单设计的原则和编程
菜单设? 如下的一般性原则:
按照系统的功能来组织菜单。
要选用广而浅的菜单树,而不是窄而深的菜单树。
根据菜单选项的含义进行分组;并且按一定的规则排序。菜单选项的标题要力求简短、含义明确,并且最好以关键词开始。
常用选项要设置快捷键。结合以上的原则,菜单编程有以下几方面的技术和技巧:
菜单选项的分组
在VB中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个Caption属性为“?”的菜单项,它在菜单上就表现为一条横线。在许多情况下,同一个功能菜单下又可以按照菜单选项的功能分为几组,这时就可以用分隔横线来实现菜单项的分组。
常用选项快捷键的设置
打开菜单设计窗口(MenuDesignWindow),应对于每个菜单选项有相应的快捷键(Shortcut)列表,在该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照Windows的界面设计原则,顶层菜单的快捷键的形式是Alt 字母键。它的实现方法在后文另叙。
对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用CTRL O,文件存盘用CRTL S,打印用CTRL P,等取?/p>
为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。
菜单选项的使能与禁止、可见与隐藏为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变改选项的Enabled属性实现的。举例来说,假设菜单选项名为nmuName,则禁止该选项可以如下实现:
mnuName.Enabled=False
同理,隐藏一个选项可以用
mnuName.Visible=False
来实现,而使一个隐藏的选项恢复可见则用
mnuName.Visible=True
实现。
菜单项的隐藏与恢复可见常常用在动态菜单的实现中。
菜单项的动态装入
菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件菜单中出现;打开一个文件后,该列表不再是空的,并且文件菜单中出现代表被打开文件的菜单项。
在上面的例子里,就综合运用了菜单项的下标属性(Index)、标题属性(Caption)、可见属性(Visible)以及菜单项的装入方法(LoadMethod)。
具体的实现过程如下:
在文件菜单里增加一个菜单项,标题任意,并假设菜单项的Name属性是opened_files_list;
更改菜单项opened_files_list的可见属性,使opened_files_list.Visible=False
更改菜单项opened_files_list的下标属性,使
opened_files_files_list.Index=0
在程序中控制菜单项opened_files_list的动态装入。
假设要显示打开过的第二文件的文件名,并且该文件名存放在一个文件名数组opened_file_name里。以下的代码就实现了这一功能:
Loadopened_files_list(1)
opened_files_lise(1).Caption="&2" opened_file_name(1)
opened_files_list(1).Visible=True
需要注意的是,对于下标为0的菜单项,不能用Load方法。因为在程序执行时,该菜单项就已经被装入到内存里了;另外,在菜单项的标题属性字符里的“&”字符具有特殊的含义,它的作用是在显示该属性字符串的同时,并不显示“&”本身,而紧跟“&”的字符在显示时具有下划线,并且该字符成为热键。
如果下标不为0的菜单项不再需要,为了减少对内存资源的占用,可以用Unload方法把它从内存卸出;同样地,不能用Unload卸出下标为0的菜单项。
弹出式菜单的实现(PopupMenuMethod)
VB中在菜单设计窗口(MenuDesignWindow)中设计的菜单是下拉式菜单。下拉式菜单是用户在任何时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。
Widnows程序的弹出式菜单一般是当用户在程序的桌面上点按鼠标键时出现的。弹出式菜单多用于实现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。
在VB中,弹出式菜单的实现要用到下拉式菜单设计的技术和PopupMenu方法。具体的做法是:
在菜单设计窗口(MenuDesignWindow)里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单必须至少有一个子菜单;因而这个菜单不能有快捷键,并且Checked属性必须是False。再把弹出式菜单的Visible属性改为False。
在具有设计好的弹出式菜单的窗体的Form_Click中加入以下代码(假设弹出式菜单的Name属性是mnuExample):
SubForm_Click()
PopupMenumnuExample
EndSub
如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在Form_MouseDown里加入如下代码:
SubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
IfButton=2thenButton=2表示鼠标右键
PopupMenumnuExample
EndIf
PopupMenu的完整句法是:
[Form.]PopupMenumenuname[flags[,x[,y]]]
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




