VB界面设计原则_第1页
VB界面设计原则_第2页
VB界面设计原则_第3页
VB界面设计原则_第4页
VB界面设计原则_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vb 中的界面设计原则和编程技巧 2000-07-29 00:00作者:出处:逸仙时空责任编辑: p在 VB 里, MDI(Multiple Document Interface,多窗口 程序 窗体是这样定义的:“MDI 窗体作为一个 程序的后台窗口,包含着 MDIChild 属性为 True 的窗体 ” 。在一个 VB 程序中,至多只能存在一个 MDI 父 窗体, 可以有多个 MDI 子窗体; 建立一个 MDI 父窗体的方法是在 VB 的 File 菜单里选择 “New MDI Form” 。 在 MDI 程序运行时,如果子窗口具有菜单,那么当子窗口被激活时,子窗口的菜单就会自动替换父窗 口

2、菜单;当子窗口被最小化时,在 MDI 父窗口里就会出现子窗口的图标。Windows 的通用图形界面的出现,使计算机用户不必通过专门的学习就可以得心应手地使用各种 Windows 的 软件 ;不仅如此,它还是程序 设计 者在设计 Windows 程序的界面时所必须遵循的标准,这在 很大程度上减轻了程序设计者的负担,使他们能够把主要精力放在问题的求解和实现上。Visual Basic的出现,更加简化了 Windows 程序界面的设计工作,只需要极少量的代码,就能实现标 准 Windows 应用程序的界面。但是,如果不了解 Windows 程序界面设计的原则,或者不熟悉 VB 下界面 编程的技巧,就

3、难以设计和实现既符合一般标准又具有特色的界面。界面设计的原则界面设计具有一般性 的原则,最为重要的有:1. 界面要具有一致性。一致性原则在界面设计中最容易被违反,同时也最容易修改和避免。例如,在 菜单和联机帮助中必须使用相同的术语;对话框必须具有相同的风格。2. 常用操作要有捷径。常用操作的使用频度大,应该减少操作序列的长度。例如,为文件的常用操作 如打开、存盘、另存等设置快捷键。使常用操作具有捷径,不仅会提高用户的工作效率,还使得界面在功 能实现上简洁和高效。3. 提供简单的错误处理。系统要有错误处理的功能。在出现错误时,系统应该能检测出错误,并且提 供简单和容易理解的错误处理的功能。错误出

4、现后系统的状态不发生变化,或者系统要提供错误恢复的指 导。4. 提供信息反馈。对操作人员的重要操作要有信息反馈。对常用操作和简单操作的反馈可以不作要求, 但是对不常用操作和至关重要的操作,系统应该提供信息的反馈。5. 操作可逆。操作应该可逆。这对于不具备专门的知识的操作人员相当有用。可逆的动作可以是单个 的操作,或是者一个相对独立的操作序列。6. 设计良好的联机帮助。虽然对于熟练用户来说,联机帮助并非必不可少,但是对于大多数不熟练用 户来说,联机帮助具有非常重要的作用。菜单设计的原则和编程菜单设计有如下的一般性原则:按照系统的功能来组织菜单。要选用广而浅的菜单树,而不是窄而深的菜单树。根据菜单

5、选项的含义进行分组;并且按一定的规则排序。菜单选项的标题要力求简短、含义明确,并 且最好以关键词开始。常用选项要设置快捷键。结合以上的原则,菜单编程有以下几方面的技术和技巧:菜单选项的分组在 VB 中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个 Caption 属性 为 “ ? ” 的菜单项,它在菜单上就表现为一条横线。在许多情况下,同一个功能菜单下又可以按照菜单选项 的功能分为几组,这时就可以用分隔横线来实现菜单项的分组。常用选项快捷键的设置打开菜单设计窗口 (Menu Design Window,应对于每个菜单选项有相应的快捷键 (Shortcut列表,在 该表中选

6、择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照 Windows 的界面设计原则,顶层菜单的快捷键的形式是 Alt+字母键。它的实现方法在后文另叙。对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用 CTRL+O,文件存盘用 CRTL+S, 打印 用 CTRL+P,等等。为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。菜单选项的使能与禁止、可见与隐藏为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能 与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项 被选中。菜单选项的使能与禁止

7、是通过改变改选项的 Enabled 属性实现的。举例来说,假设菜单选项名为 nmuName ,则禁止该选项可以如下实现:mnuName.Enabled=False 同理,隐藏一个选项可以用 mnuName.Visible=False 来实现,而使一个 隐藏的选项恢复可见则用 mnuName.Visible=True 实现。菜单项的隐藏与恢复可见常常用在动态菜单的实现中。菜单项的动态装入菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简 单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件 菜单中出现;打开一个文件后,该列表不再是空的

8、,并且文件菜单中出现代表被打开文件的菜单项。 在上面的例子里,就综合运用了菜单项的下标属性 (Index、标题属性 (Caption、可见属性 (Visible以 及菜单项的装入方法 (Load Method。具体的实现过程如下:在文件菜单里增加一个菜单项,标题任意,并假设菜单项的 Name 属性是 opened_files_list;更改菜单项 opened_files_list的可见属性,使 opened_files_list.Visible=False更改菜单项 opened_files_list的下标属性,使 opened_files_files_list.Index=0在程序中控制菜

9、单项 opened_files_list的动态装入。假设要显示打开过的第二文件的文件名, 并且该文件名存放在一个文件名数组 opened_file_ name里。 以下的代码就实现了这一功能:Load opened_files_list(1 opened_files_lise(1.Caption=&2+opened_file_name(1opened_files_list(1.Visible=True需要注意的是,对于下标为 0的菜单项,不能用 Load 方法。因为在程序执行时,该菜单项就已经被 装入到内存里了;另外,在菜单项的标题属性字符里的 “&” 字符具有特殊的含义,它的作用是在显示该属

10、性 字符串的同时,并不显示 “&” 本身,而紧跟 “&” 的字符在显示时具有下划线,并且该字符成为热键。如果下标不为 0的菜单项不再需要,为了减少对内存资源的占用,可以用 Unload 方法把它从内存卸 出;同样地,不能用 Unload 卸出下标为 0的菜单项。弹出式菜单的实现 (PopupMenu MethodVB 中在菜单设计窗口 (Menu Design Window中设计的菜单是下拉式菜单。下拉式菜单是用户在任何 时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后 出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更

11、加得心应手。 Widnows 程序的弹出式菜单一般是当用户在程序的桌面上点按鼠标键时出现的。 弹出式菜单多用于实 现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要 覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。在 VB 中,弹出式菜单的实现要用到下拉式菜单设计的技术和 PopupMenu 方法。具体的做法是:在菜单设计窗口 (Menu Design Window里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单 必须至少有一个子菜单;因而这个菜单不能有快捷键,并且 Checked 属性必须是 False 。再把弹出式菜单 的 Visible 属性

12、改为 False 。在具有设计好的弹出式菜单的窗体的 Form_Click中加入以下代码 (假设弹出式菜单的 Name 属性是 mnuExample :Sub Form_Click( PopupMenu mnuExample End Sub如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在 Form_MouseDown里加入如下代码: Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single If Button=2 then Button=2表示鼠标右键 PopupMenu mnuExampl

13、e End If PopupMenu的完整句法是:Form.PopupMenu menunameflags,x,y改变 flags 的值可以控制弹出式菜单的表现形式。 flags 有两组值。 第一组值用来控制菜单的显示方式, 包括 POPUPMENU_LEFTALIGNPOPUPMENU_CENTERALIGN,POPUPMENU_RIGHTALIGN ,分别 表示以 x 为左边界,以 x 为中心和以 x 为右边界的显示方式,并且以 x 为左边界是缺省的方式;另外一组 值用来控制菜单项的选中方式, 包括 POPUPMENU_LEFTBUTTON 和 POPUPMENU_RIGHTBUTTON,

14、 分别表示左键选中和左 /右键选中均可,并且左键选中是缺省的方式。 flags 的值由上面的两组值经过 OR 运算得出。例如,要求左对齐显示并且左键选中为准,则应有:flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTONx 和 y 用来定义菜单弹出的位置、缺省是鼠标点中的位置。菜单项的其他属性用 ALT+字母键激活顶层菜单,或者在菜单激活后用字母键激活一个菜单项,必须学会使用 &。 &用在 菜单项的标题属性 (Caption里。 它的用法和作用与在用 C 语言编制的 Windows 程序中的用法和作用相同。 有时希望顶层菜单之间的间隔大一些,或者某个

15、顶层菜单出现在菜单条的最右端,这时就要用到标题 属性是空格的菜单。如果一个菜单的标题是由多个空格组成的,那么这个菜单在菜单条上就占用跟空格的 个数相应的空间,并且它后面的菜单也顺序地后移;如果这个菜单的 Visible 属性是 False ,那么它就跟不 存在一样。窗口设计的原则和举例下面是一个浮动窗口技术的例子。为了引起用户的注意,或者必须保证含有重要信息的窗口不被其他 窗口覆盖,就要用到浮动窗口技术,建立一个 “ 总在最前面 ”(TopMost 的窗口。具体的做法是:(1在 VB 程序中加入如下的声明:Declare Function SetWindowPos Libuser(Byval

16、h%,Byval hb%,Byval x%,Byval y%,By val cx%,Byval cy%,Byval f%As Integer Global Const SWP_NOMOVE=2 Global Const SWP_NOSIZE=1 Global Const HWND_TOPMOST=? 1 Global Const HWND_NOTOPMOST=? 2 Global ConstFLAGS=SWP_NOMOVE Or SWP_NOSIZE(2假设要把窗体 frmExample 设置成总在最前面的窗口,只要在 frmExample 窗体的 Form_Load 过程里加入以下代码:Di

17、m success%success=SetWindowPos(frmExample.hWnd,HWND_TOPMOST,0,0,0,0,FLAGS如果要取消总在最前面的特性,则可以执行如下的代码:success=SetWindowPos(frmExample.hWnd,HWND_NOTOPMOST,0,0,0,0,FLAGSsuccess 不等于 0表示 SetWindowPos 执行成功。在 MDI 程序里,有一个窗口是所有其他窗口的父窗口,各个子窗口完成相对独立的功能,就像是多个 独立的工具组合起来一样。在这方面, MS Word和 Windows 的 File Manager是最好的例子

18、。 ? 国科技大 学计算机系 (230027谢海永赵保华在 VB 里, MDI(Multiple Document Interface,多窗口程序 窗体是这样定义的:“MDI 窗体作为一个程 序的后台窗口,包含着 MDIChild 属性为 True 的窗体 ” 。在一个 VB 程序中,至多只能存在一个 MDI 父窗 体,可以有多个 MDI 子窗体;建立一个 MDI 父窗体的方法是在 VB 的 File 菜单里选择 “New MDI Form” 。在 MDI 程序运行时,如果子窗口具有菜单,那么当子窗口被激活时,子窗口的菜单就会自动替换父窗 口菜单;当子窗口被最小化时,在 MDI 父窗口里就会出

19、现子窗口的图标。Windows 的通用图形界面的出现,使计算机用户不必通过专门的学习就可以得心应手地使用各种 Windows 的软件;不仅如此,它还是程序设计者在设计 Windows 程序的界面时所必须遵循的标准,这在 很大程度上减轻了程序设计者的负担,使他们能够把主要精力放在问题的求解和实现上。Visual Basic的出现,更加简化了 Windows 程序界面的设计工作,只需要极少量的代码,就能实现标 准 Windows 应用程序的界面。但是,如果不了解 Windows 程序界面设计的原则,或者不熟悉 VB 下界面 编程的技巧,就难以设计和实现既符合一般标准又具有特色的界面。界面设计的原则

20、界面设计具有一般性 的原则,最为重要的有:1. 界面要具有一致性。一致性原则在界面设计中最容易被违反,同时也最容易修改和避免。例如,在 菜单和联机帮助中必须使用相同的术语;对话框必须具有相同的风格。2. 常用操作要有捷径。常用操作的使用频度大,应该减少操作序列的长度。例如,为文件的常用操作 如打开、存盘、另存等设置快捷键。使常用操作具有捷径,不仅会提高用户的工作效率,还使得界面在功 能实现上简洁和高效。3. 提供简单的错误处理。系统要有错误处理的功能。在出现错误时,系统应该能检测出错误,并且提 供简单和容易理解的错误处理的功能。错误出现后系统的状态不发生变化,或者系统要提供错误恢复的指 导。4

21、. 提供信息反馈。对操作人员的重要操作要有信息反馈。对常用操作和简单操作的反馈可以不作要求, 但是对不常用操作和至关重要的操作,系统应该提供信息的反馈。5. 操作可逆。操作应该可逆。这对于不具备专门的知识的操作人员相当有用。可逆的动作可以是单个 的操作,或是者一个相对独立的操作序列。6. 设计良好的联机帮助。虽然对于熟练用户来说,联机帮助并非必不可少,但是对于大多数不熟练用 户来说,联机帮助具有非常重要的作用。菜单设计的原则和编程菜单设计有如下的一般性原则:按照系统的功能来组织菜单。要选用广而浅的菜单树,而不是窄而深的菜单树。根据菜单选项的含义进行分组;并且按一定的规则排序。菜单选项的标题要力

22、求简短、含义明确,并 且最好以关键词开始。常用选项要设置快捷键。结合以上的原则,菜单编程有以下几方面的技术和技巧:菜单选项的分组在 VB 中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个 Caption 属性 为 “ ? ” 的菜单项,它在菜单上就表现为一条横线。在许多情况下,同一个功能菜单下又可以按照菜单选项 的功能分为几组,这时就可以用分隔横线来实现菜单项的分组。常用选项快捷键的设置打开菜单设计窗口 (Menu Design Window,应对于每个菜单选项有相应的快捷键 (Shortcut列表,在 该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷

23、键不能这样定义。按照 Windows 的界面设计原则,顶层菜单的快捷键的形式是 Alt+字母键。它的实现方法在后文另叙。对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用 CTRL+O,文件存盘用 CRTL+S,打印用 CTRL+P,等等。为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。菜单选项的使能与禁止、可见与隐藏为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能 与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变改选项的 Enabled 属性实现的。举例来说,假设菜单

24、选项名为 nmuName ,则禁止该选项可以如下实现:mnuName.Enabled=False 同理,隐藏一个选项可以用 mnuName.Visible=False 来实现,而使一个 隐藏的选项恢复可见则用 mnuName.Visible=True 实现。菜单项的隐藏与恢复可见常常用在动态菜单的实现中。菜单项的动态装入菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简 单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件 菜单中出现;打开一个文件后,该列表不再是空的,并且文件菜单中出现代表被打开文件的菜单项。 在上面的例子里,就综

25、合运用了菜单项的下标属性 (Index、标题属性 (Caption、可见属性 (Visible以 及菜单项的装入方法 (Load Method。具体的实现过程如下:在文件菜单里增加一个菜单项,标题任意,并假设菜单项的 Name 属性是 opened_files_list;更改菜单项 opened_files_list的可见属性,使 opened_files_list.Visible=False更改菜单项 opened_files_list的下标属性,使 opened_files_files_list.Index=0在程序中控制菜单项 opened_files_list的动态装入。假设要显示打开

26、过的第二文件的文件名, 并且该文件名存放在一个文件名数组 opened_file_ name里。 以下的代码就实现了这一功能:Load opened_files_list(1 opened_files_lise(1.Caption=&2+opened_file_name(1opened_files_list(1.Visible=True需要注意的是,对于下标为 0的菜单项,不能用 Load 方法。因为在程序执行时,该菜单项就已经被 装入到内存里了;另外,在菜单项的标题属性字符里的 “&” 字符具有特殊的含义,它的作用是在显示该属性 字符串的同时,并不显示 “&” 本身,而紧跟 “&” 的字符在

27、显示时具有下划线,并且该字符成为热键。如果下标不为 0的菜单项不再需要,为了减少对内存资源的占用,可以用 Unload 方法把它从内存卸 出;同样地,不能用 Unload 卸出下标为 0的菜单项。弹出式菜单的实现 (PopupMenu MethodVB 中在菜单设计窗口 (Menu Design Window中设计的菜单是下拉式菜单。下拉式菜单是用户在任何 时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后 出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。 Widnows 程序的弹出式菜单一般是当用户在程序的

28、桌面上点按鼠标键时出现的。 弹出式菜单多用于实 现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要 覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。在 VB 中,弹出式菜单的实现要用到下拉式菜单设计的技术和 PopupMenu 方法。具体的做法是:在菜单设计窗口 (Menu Design Window里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单 必须至少有一个子菜单;因而这个菜单不能有快捷键,并且 Checked 属性必须是 False 。再把弹出式菜单 的 Visible 属性改为 False 。在具有设计好的弹出式菜单的窗体的 Form_C

29、lick中加入以下代码 (假设弹出式菜单的 Name 属性是 mnuExample :Sub Form_Click( PopupMenu mnuExample End Sub如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在 Form_MouseDown里加入如下代码: Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single If Button=2 then Button=2表示鼠标右键 PopupMenu mnuExample End If PopupMenu的完整句法是:Form.Pop

30、upMenu menunameflags,x,y改变 flags 的值可以控制弹出式菜单的表现形式。 flags 有两组值。 第一组值用来控制菜单的显示方式, 包括 POPUPMENU_LEFTALIGNPOPUPMENU_CENTERALIGN,POPUPMENU_RIGHTALIGN ,分别表示以 x 为左边界,以 x 为中心和以 x 为右边界的显示方式,并且以 x 为左边界是缺省的方式;另外一组 值用来控制菜单项的选中方式,包括 POPUPMENU_LEFTBUTTON 和 POPUPMENU_RIGHTBUTTON, 分别表示左键选中和左/右键选中均可,并且左键选中是缺省的方式。flags 的值由上面的两组值经过 OR 运算得出。例如,要求左对齐显示并且左键选中为准,则应有: flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTON x 和 y 用来定义菜单弹出的位置、缺省是鼠标点中的位置。 菜单项的其他属性 用 ALT+字母键激活顶层菜单,或者在菜单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论