第11章 可视化程序设计
本章主要考查可视化程序设计,包括菜单程序设计、对话框程序设计、多重窗体程序设计、Visual Basic工程结构与执行控制等知识点。通过对历年试卷内容的分析,本章考核内容约占6%,属于一般考查对象,下次考试将保持上升趋势。
11.1 菜单程序设计
菜单的基本作用有两个,一是提供人机对话的界面,以便让使用者选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。
在实际应用中,菜单可分为两种基本类型,即下拉式菜单和弹出式菜单。
11.1.1 考点1:下拉式菜单
下拉式菜单是一种典型的窗口式菜单。在下拉式菜单系统中,一般有一个主菜单,其中包括若干选择项,主菜单的每一项都可以“下拉”出下一级菜单供用户选择或输入信息。操作完毕后菜单从屏幕上消失,并恢复原来的屏幕状态。
1.菜单编辑器
Visual Basic中的菜单通过菜单编辑器,即菜单设计窗口建立。可以通过以下4种方式进入菜单编辑器:
执行“工具”菜单中的“菜单编辑器”命令;
使用热键Ctrl+E;
单击工具栏中的“菜单编辑器”按钮;
在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,然后单击“菜单编辑器”命令。
菜单编辑器窗口分为三个部分:即数据区、编辑区和菜单项显示区。
(1)数据区
数据区用来输入或修改菜单项、设置属性。在数据区中,必须提供菜单项的“标题”和“名称”属性,“有效”属性和“可见”属性一般默认为True,只有在必要时才设置其他属性。在设置“标题”属性时,如果输入一个减号(—),则可在菜单中加入一条分隔线;如果在菜单“标题”中包含“&”,则可将该符号后的字母作为访问键(通过ALT加该键打开该菜单)。
(2)编辑区
编辑区用来对输入的菜单项进行简单的编辑。
(3)菜单项显示区
菜单项显示区用来显示所输入的菜单项。菜单在数据区输入,在编辑区进行位置调整,在菜单项显示区显示。
2.菜单项的控制
(1)有效性控制
菜单中的某些菜单项应能根据执行条件的不同进行动态变化,即当条件满足时可以执行,否则不能执行。
菜单项的“有效”属性,菜单项的有效性就是通过该属性来控制的。实际上,只要把一个菜单项的“有效”属性设置为False,就可以使其失效,运行后该菜单项变为灰色;为了使一个失效的菜单项变为有效,只要把它的“有效”属性重新设置为True即可实现。
(2)菜单项标记
所谓菜单项标记,就是在菜单项前加上一个“√”。它有两个作用:一是可以明显地表示当前某个(或某些)命令状态是“On”或“Off”二是可以表示当前选择的是哪个菜单项。菜单项标记通过菜单设计窗口中的“复选”属性设置,当该属性为True时,相应的菜单项前有“√”标记;如果该属性为False,则相应的菜单项前没有“√”标记。
(3)键盘选择
用键盘选取菜单通常有两种方法,即热键和访问键(Access Key)。
3.菜单项的增减
菜单项的增减通过控件数组来实现。一个控件数组含有若干个控件,这些控件的名称相同,所使用的事件过程相同,但其中的每个元素可以有自己的属性。控件数组和普通数组一样,可通过下标(Index)访问控件数组中的元素。控件数组可以在设计阶段建立,也可以在运行时建立。
例11.1.1 假定有一个菜单项,名为MenuItem,为了在运行时该菜单项失效(变灰),应使用的语句是( )
A.MenuItem.Enabled= False
B.MenuItem.Enabled= True
C.MenuItem.Visible= True
D.MenuItem.Visible= False
解析:Enabled属性设置菜单是否可用;Visible属性设置菜单是否可见。菜单项标记通常是动态地加上或取消的,因此应在程序代码中根据执行情况动态设置。
答案:A
重要提示:只有当某个窗体为活动窗体时,才能用上面介绍的四种方法打开菜单编辑器窗口。
11.1.2 考点2:弹出式菜单
建立弹出式菜单通常分两步进行:首先用菜单编辑器建立菜单,然后用PopupMenu方法弹出显示。第一步的操作与前面介绍的基本相同,惟一的区别是必须把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不要设置为False)。PopupMenu方法用来显示弹出式菜单,其一般格式如下:
对象.PopupMenu菜单名,Flags,X,Y,BoldCommand
说明:
当省略“对象”时,弹出式菜单只能在当前窗体中显示。如果需要弹出式菜单在其他窗体中显示,则必须加上窗体名;
Flags的两组参数可以单独使用,也可以联合使用。当联合使用时,每组中取一个值,二者相加;如果使用符号常量,则两个值用Or连接;
弹出式菜单的位置由X、Y和Flags参数共同指定。
例11.1.2 在菜单编辑器中建立一个名称为Menu( )的菜单项,将其“可见”属性设置为False,并建立其若干子菜单,然后编写如下过程:
Private Sub Form_MouseDown (Button As Integer ,Shift As Integer ,X As Single, Y As Single)
If Button = 1 Then
PopupMenu Menu()
End If
End Sub
则以下叙述中错误的是( )[2006年4月 选择第32题]
A.该过程的作用是弹出一个菜单
B.单击鼠标右键时弹出菜单
C.Menu()是在菜单编辑器中定义的弹出菜单的名称
D.参数X、Y指明鼠标当前位置的坐标
解析:通常把PopupMenu方法放在MouseDown事件中,该事件响应所有的鼠标单击操作,用Button参数控制左右键选择。Button=1为单击鼠标左键时弹出菜单,Button=2为单击鼠标右键时弹出菜单。
答案:B
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|