窗口是Windows本身以及Windows 环境下的应用程序的基本界面单位,就是显示在屏幕上的一个矩形区域。一般来说窗口是具有标题栏、菜单/菜单栏、工具栏、工作区、状态栏、最大化、最小化按钮和滚动条的标准方框,应用程序通过它和用户进行交互。但是如果没有标题栏、状态栏、最大化、最小化按钮是不是就不叫窗口呢。其实不然,窗口的概念很广,例如按钮和对话框等也是窗口,只不过是一种特殊的窗口罢了。这里我主要将的还是标准意义上的窗口。
窗口主要有进入、移动、改变窗口大小;最大化、最小化和还原;使用滚动条和关闭窗口等操作。
因此可以通过如下来测试窗口:
l 大多数的窗口、屏幕/对话框应该有最小化,恢复和关闭按钮。
l 所有的窗口、屏幕/对话框应该有和内容相一致对应的标题。
l 只有主窗口才有标题栏图标、菜单栏、工具栏和状态栏。二级窗口不要使用菜单栏、工具栏或状态栏。
l 每一个窗口/屏幕都应有功能匹配的OK和Cancel按钮。窗口/对话框的缺省<Enter>键应该设置在OK按钮上;窗口/对话框的缺省<Esc>键应该设置在Cancel按钮上。
a.Escape键取消对话框,焦点重新定位回到父窗口先前的焦点上,
b.Alt+F4关闭窗口,和Escape键相似,但它可以在即使没有Cancel按钮的对话框中工作
c.Alt+Space打开窗口的菜单Restore, Move, Size, Minimize, Maximize, Close
d.Shift+F10和右击效果一样。
e.可以用键盘上的箭头按钮实现Move和Size功能
b.Alt+F4关闭窗口,和Escape键相似,但它可以在即使没有Cancel按钮的对话框中工作
c.Alt+Space打开窗口的菜单Restore, Move, Size, Minimize, Maximize, Close
d.Shift+F10和右击效果一样。
e.可以用键盘上的箭头按钮实现Move和Size功能
l 一个窗口每个组件的访问键必须是唯一的。
l 父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。
l 二级窗口最好不要显示在任务栏中,因为单击主窗口的任务栏按钮也会激活二级窗口。
l 如果子窗体的任何操作会影响了父窗体的数据时,关闭子窗体同时必须刷新父窗体的数据。
l 关闭父窗体时必须关闭所有打开的子窗体。如果由于子窗口没有关闭而无法关闭父窗口,必须给予提示信息框。在关闭提示信息框后显示必须关闭的子窗口。
l 子窗体的大小最好不要超过父窗体,且最好不要遮住父窗体的主要信息。如果存在多层嵌套窗口,每层窗口弹出时都自动往右下移动一点点,以保证不遮盖上层窗口标题为准。
l 窗口嵌套层次最好不超过3层。
l 点击窗口中的帮助按钮或F1必须带出和窗口内容相一致的帮助。
l 窗口可以被多次打开和关闭。但窗口未关闭或被其他窗口覆盖时,再次点击菜单或按钮,测试窗口是否可以被激活。
l 如果窗体可以最小化,最大化或可调整大小时,窗体上的控件也要随着窗体而缩放;对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。
l 工具栏按钮应该有浮动的提示,可以根据用户的要求自己选择定制;:相同或相近功能的工具栏放在一起;:一条工具栏的长度最长不能超出屏幕宽度;工具栏的图标能直观的代表要完成的操作;系统常用的工具栏设置默认放置位置;:工具栏太多时可以考虑使用工具厢;:工具厢要具有可增减性,由用户自己根据需求定制。:工具厢的默认总宽度不要超过屏幕宽度的1/5
l 状态条要能显示用户切实需要的信息,常用的有: 目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。 状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。
l 菜单和工具条应有清楚的界限,菜单和状态栏中使用统一大小的字体(通常使用5号字体)
l 菜单应采用“常用--主要--次要--工具--帮助”的位置排列。提供常用的菜单项,如“文件”、“编辑”,“查找”,“打印”等。对常用的菜单项提供快捷命令方式。快捷方式唯一。
l 主菜单数目不太多时最好为单排布置。如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。菜单深度一般要求最多控制在三层以内。
l 下拉菜单要根据菜单选项的含义进行分组,並且按照一定的规则进行排列,用横线隔开。一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的放在开头,次要的放在后边。对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示——最好。
l 菜单前的图标不宜太大,与字高保持一直最好。主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。
l 状态栏中的信息应该根据窗口的内容的变化而变化,如在初始状态时,系统有多少条数据,经过查询后状态栏的数据应该发生变化。
l 滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比;拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;单击滚动条和滚动条的上下按钮;用滚轮控制滚动条;
l 如果系统的模块较多,较深,经常会多级菜单,最好在窗口上加上导航条,以方便用户可以快速返回。
l 。。。。。。