VB界面设计原则和编程技巧下

更新时间:2024-03-17 13:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VB界面设计原则和编程技巧下 常用选项快捷键的设置

打开菜单设计窗口(Menu Design Window),应对于每个菜单选项有相应的快捷键(Short cut)列表,在该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照Windows的界面设计原则,顶层菜单的快捷键的形式是Alt+字母键。

对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用CTRL+O,文件存盘用CRTL+S,打印用CTRL+P,等等。

为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。

菜单选项的使能与禁止、可见与隐藏

为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变该选项的Enabled属性实现的。举例来说,假设菜单选项名为mnuName,则禁止该选项可以这样实现:

mnuName.Enabled=False

同理,隐藏一个选项可以用:

mnuName.Visible=False

而使一个隐藏的选项恢复可见则用

mnuName.Visible=True

菜单项的隐藏与恢复可见常用在动态菜单的实现中。

菜单项的动态装入

菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件菜单中出现;打开一个文件后,该列表不再是空的,并且文件菜单中出现代表被打开文件的菜单项。

在上面的例子里,就综合运用了菜单项的下标属性(Index)、标题属性(Caption)、可见属性(Visible)以及菜单项的装入方法(Load Method)。

具体的实现过程如下:

在文件菜单里增加一个菜单项,标题任意,并假设菜单项的Name属性是opened_files_ list;

更改菜单项opened_files_list的可见属性,使

opened_files_list.Visible=False

更改菜单项opened_files_list的下标属性,使

opened_files_list.Index=0

在程序中控制菜单项opened_files_list的动态装入。

假设要显示打开过的第二个文件的文件名,并且该文件名存放在一个文件名数组opened _file_name里。需要注意的是,对于下标为0的菜单项,不能用Load方法。因为在程序执行时,该菜单项就已经被装入到内存里了;另外,在菜单项的标题属性字符里的\字符具有特殊的含义,它的作用是在显示该属性字符串的同时,并不显示\本身,而紧跟\的字符在显示时具有下划线, 并且该字符成为热键。

如果下标不为0的菜单项不再需要,为了减少对内存资源的占用,可以用Un-load方法把它从内存卸出;同样地,不能用Unload卸出下标为0的菜单项。

弹出式菜单的实现

VB中在菜单设计窗口中设计的菜单是下拉式菜单。下拉式菜单是用户在任何时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。

Windows程序的弹出式菜单一般是当用户在程序的桌面上点按鼠标键时出现的。弹出式菜单多用于实现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。

在VB中,弹出式菜单的实现要用到下拉式菜单设计的技术和PopupMenu方法。具体的做法是:

在菜单设计窗口里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单必须至少有一个子菜单;因而这个菜单不能有快捷键,并且Checked属性必须是False。再把弹出式菜单的Visible属性改为False。

在具有设计好的弹出式菜单的窗体的Form_Click中加入以下代码(假设弹出式菜单的 Name属性是mnuExam-ple):

Sub Form_Click()

PopupMenu mnuExample

End Sub

如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在Form_MouseDown里加入如下代码:

Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Sin-gle,y As Sin gle)

If Button=2 then Button=2 表示鼠标右键

PopupMenu mnuExample

End If

PopupMenu的完整句法是:

[Form.]PopupMenu menuname[flags[,x[,y]]]

改变flags的值可以控制弹出式菜单的表现形式。flags有两组值:第一组值用来控制菜单的显示方式,包括

POPUP-MENU_LEFTALIGN,POPUPMENU_CENTERALIGN,POPUPMENU_RI-GHTALI GN,分别表示以x为左边界、以x为中心和以x为右边界的显示方式,并且以x为左边界是缺省的方式;另外一组值用来控制菜单项的选中方式,包括POPUP-MENU_LEFTBUTTON和POPUP-MENU_R IGHTBUTTON,分别表示左键选中和左/右键选中均可,并且左键选中是缺省的方式。flags的值由上面的两组值经过OR运算得出。例如,要求左对齐显示并且左键选中为准,则应有:

flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTON

x和y用来定义菜单弹出的位置,缺省是鼠标点中的位置。

菜单项的其他属性

用ALT+字母键激活顶层菜单,或者在菜单激活后用字母键激活一个菜单项,必须学会使用 &。&用在菜单项的标题属性(Caption)里。它的用法和作用与在用C语言编制的Windows程序中的用法和作用相同。

有时希望顶层菜单之间的间隔大一些,或者某个顶层菜单出现在菜单条的最右端,这时就要用到标题属性是空格的菜单。如果一个菜单的标题是由多个空格组成的,那么这个菜单在菜单条上就占用跟空格的个数相应的空间,并且它后面的菜单也顺序地后移;如果这个菜单的 Visible属性是False,那么它就跟不存在一样。

本文来源:https://www.bwwdw.com/article/8sd8.html

Top