第11章补充界面设计.docx
- 文档编号:10130992
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:33
- 大小:468.35KB
第11章补充界面设计.docx
《第11章补充界面设计.docx》由会员分享,可在线阅读,更多相关《第11章补充界面设计.docx(33页珍藏版)》请在冰点文库上搜索。
第11章补充界面设计
第七章界面设计
在Windows环境下,几乎所有的应用软件都通过菜单实现各种操作。
本章介绍在VB中用户界面设计的工具和方法,包括:
通用对话框、菜单、工具栏等。
7.1对话框控件
在VB中,对话框是一种特殊的窗口,它通过显示和获取信息与用户进行交流,一个对话框可以很简单,也可以很复杂,前面介绍的MsgBox和InputBox函数可以建立简单的对话框,即信息框和输入框。
但是要定义的对话框较复杂时,将会花较多的时间和精力设计和书写代码,为此,VisualBasic6.0提供了通用对话框控件,用其可以定义比较复杂的对话框(通用对话框)。
要把通用对话框控件加到工具箱中,可按如下步骤操作:
(1)
(1) 执行“工程”菜单中的“部件”命令,打开“部件”对话框。
(2)
(2) 选择“控件”选项卡,如图7-1所示,在控件列表框中选择“MicrosoftCommonDialogControl6.0”。
图7-1部件对话框
(3)(3) 单击“确定”按扭,通用对话框即被添加到工具箱中,如图7-2所示。
在设计状态下,CommonDialog控件以图标的形式显示在窗体上,其大小不能改变,在程序运行时,控件本身被隐藏。
图7-2通用对话框
通用对话框的默认名称(Name属性)为CommonDialogX(X为1,2,3……)。
通用对话框控件为程序设计人员提供了几种不同类型的对话框,有文件对话框、打印对话框、字体对话框、颜色对话框等。
利用这些对话框,可以获取所需要的信息,例如打开文件、打印、存盘、选择颜色等。
这些对话框与Windows本身及商业程序具有相同的风格。
对话框的类型可以通过Action属性设置,也可以使用说明性的Show方法来代替Action属性值。
Action属性和Show方法如表7-1。
表7-1Action属性和Show方法
Action属性
Show方法
说明
1
ShowOpen
显示文件打开对话框
2
ShowSave
显示另存为对话框
3
ShowColor
显示颜色对话框
4
ShowFont
显示字体对话框
5
ShowPrinter
显示打印机对话框
6
ShowHelp
显示帮助对话框
通用对话框具有的主要共同属性为:
(1)
(1) CancelError属性:
通用对话框里有一个“取消”按扭,用于向应用程序表示用户想取消当前操作。
当CancelError属性设置为True时,若用户单击“取消”按扭,通用对话框自动将错误对象Err.Number设置为32755(cdlCancel)以便供程序判断。
若CancelError属性设置为False,则单击“取消”按扭时不产生错误信息。
(2)
(2) DialogTitle属性:
每个通用对话框都有默认的对话框标题,通过
DialogTitle属性可由用户自行设计对话框标题上显示的内容。
(3)Flags属性:
通用对话框的Flags属性可以修改每个具体对话框的默认操作,其值可有3种形式,即符号常量、十六进制数和十进制数。
(4)HelpCommand属性:
指定Help的类型。
(5)HelpContext属性:
用来确定HelpID的内容,与HelpCommand属性一起使用,指定显示的Help主题。
(6)HelpFile和HelpKey属性:
分别用来指定Help应用程序的Help文件名和Help主题能够识别的名字。
7.1.1文件对话框的结构
文件对话框有打开(Open)文件对话框和保存(Save)对话框,如图7-3所示为打开对话框,在该对话框中用户可以打开一个文件供程序调用。
“保存”对话框有类似的结构,可以指定一个文件名来保存当前文件。
通用对话框用于文件操作时需要对下列属性进行设置。
图7-3打开对话框
(1)
(1) DefaultEXT:
设置对话框中默认文件类型,即扩展名。
该扩展名出现在“文件类型”栏内。
如果在打开或保存的文件名中没有给出扩展名,将自动将DefaultEXT属性值作为其扩展名。
(2)
(2) DialogTitle:
此属性用来设置对话框的标题。
在默认情况下,“打开”对话框的标题是“打开”,“保存”对话框的标题是“保存”。
(3)(3) FileName:
该属性值为字符串,用于设置和得到用户所选的文件名(包括路径名)。
(4)(4) FileTitle:
该属性用来指定对话框中所选择的文件名(不包括路径),该属性与FileTitle属性的区别是:
FileName属性用来指定完整的路径,而FileTitle只指定文件名。
(5)(5) Filter:
该属性用来过滤文件类型,使文件列表框中显示指定的文件类型。
可以在设计时设置该属性,也可以在代码中设置该属性。
Filter的属性值由一对或多对文本字符组成,每对字符串间要用“|”隔开,格式为:
文件说明1|文件类型1|文件说明2|文件类型2
例如要在打开对话框的“文件类型”列表框中显示如图7-3所示的文件类型,则Filter属性应设置为:
CommonDialog1.Filter=文本文件|*.txt|Word文档|*.doc
(6)(6) InitDir:
该属性用来指定打开对话框中的初始目录。
如果要显示当前目录,则该属性不需要设置。
【例7.1】编写程序,建立“打开”和“保存”对话框。
根据上述方法在窗体上画一个通用对话框,以属性的默认值Name属性取默认值,即CommonDialog1,再建立两个命令按扭Command1和Command2,然后编写两个事件过程:
PrivateSubCommand1_Click()
CommonDialog1.FileName=""
CommonDialog1.Flags=vbOFNFileMustExist
CommonDialog1.Filter="AllFiles|*.*|(*.exe)|*.exe|(*.TXT)_
|*.TXT"
CommonDialog1.FilterIndex=3
CommonDialog1.DialogTitle="OpenFile(*.EXE)"
CommonDialog1.Action=1'打开对话框
IfCommonDialog1.FileName=""Then
MsgBox"NofileSelected",37,"Checking"
Else
OpenCommondialog1.FileNameForInputAs#1
DoWhileNotEOF
(1)
Input#1,a$
Printa$
Loop
EndIf
EndSub
PrivateSubCommand2_Click()
CommonDialog1.CancelError=True
CommonDialog1.DefaultExt="TXT"
CommonDialog1.FileName="lbw.txt"
CommonDialog1.Filter="Textfiles(*.txt)|*.TXT|ALLFiles(*.*_
)|*.*"
CommonDialog1.FilterIndex=1
CommonDialog1.DialogTitle="SaveFileAs(*.TXT)"
CommonDialog1.Flags=vbOFNOverwritePromptOrvbOFN_
PathMustExist
CommonDialog1.Acion=2'保存对话框
EndSub
Open对话框并不能真正“打开”文件,而仅仅是用来选择一个文件,至于选择以后的处理,包括打开、显示等,Open对话框是没有能力完成的,前半部分用来建立Open对话框,设置对话框的各种属性;“Else”之后的部分用来对选择的文件进行处理。
7.1.2“颜色”对话框
“颜色”对话框的方法是ShowColor,Aciton为3的通用对话框,如图7-4颜色对话框,在颜色对话框中提供了基本颜色和自定义颜色。
“颜色”对话框的两个重要属性:
Color属性和Flags属性。
其中Color属性是“颜色”对话框最重要的属性,它返回或设置选定的颜色。
当用户在调色板中设置了某颜色时,该颜色值赋给Color属性。
Color属性用来设置初始颜色,并把对话框中选择的颜色返回给应用程序。
图7-4颜色对话框
表7-2颜色对话框的Flags属性的取值
符号常量
十进制值
作用
vbCCRGBinit
1
使得Color属性定义的颜色在首次显示对话框时随着显示出来
vbCCFullOpen
2
打开完整对话框,包括“用户自定义颜色”窗口
vbCCPreventFullOpen
4
禁止选择“规定自定义颜色”按扭
vbCCShowHelp
8
显示一个Help按扭
【例7.2】在例7.1的窗体上增加命令按扭Command3,用于打开颜色对话框,通过“颜色”对话框设置窗体(Form1)的背景颜色。
代码如下:
PrivateSubCommand3_Click()
CommonDialog1.Flags=vbCCRGBinit
CommonDialog1.Color=BackColor
CommonDialog1.Action=3
Form1.BackColor=CommonDialog1.Color
EndSub
为了设置或读取Color属性,必须将Flags属性设置为1(vbCCRGBinit)。
7.1.3“字体”对话框
在VisualBasic中,字体通过字体(Font)对话框属性设置。
利用通用对话框控件,可以建立一个字体对话框,并可以通过该对话框设置应用程序所需要的字体。
字体对话框的主要属性:
(1)CancleError,DialogTitle,HelpCommand,HelpContext,HelpFile和HelpKey见前面介绍。
(2)Flags属性:
其属性值见表7-3。
表7-3字体对话框的Flags属性取值
符号常数
属性值
作用
cdlCFScreenFonts
1
只显示屏幕字体
cdlCFPrinterFonts
2
只列出打印机字体
cdlCFBoth
3
列出打印机和屏幕字体
cdlCFEffects
256
允许中划线、下划线和颜色
(3)(3)Max和Min属性:
字体大小用点来度量。
在默认情况下,字体大小的范围为1~2048个点,用Max和Min属性可以指定字体大小的范围(在1~2048之间的整数)。
但是在设置Max和Min属性之前,必须把Flags属性设置为8192。
(4)(4) FontBold,FontItalic,FontName,FontSise,FontStrikeThru,FontUnderLine这些属性可以在字体对话框中选择,也可以通过程序代码赋值。
【例7.3】用字体对话框设置文本框中显示的字体。
在窗体上建立通用对话框CommonDialog1、文本框Text1、和命令按扭Command1,如图7-5所示。
在命令按扭中编写Click事件代码如下:
图7-5初始界面
PrivateSubCommand1_Click()
CommonDialog1.Flags=cdlCFBothorcdlCFEffects'设置Flags
CommonDialog1.ShowFont
IfCommonDialog1.FontName>""Then'如果选择了字体
Text1.FontName=CommonDialog1.FontName
EndIf'下面设置文本框内的字体
Text1.FontSize=CommonDialog1.FontSize
Text1.FontBold=CommonDialog1.FontBold
Text1.FontItalic=CommonDialog1.FontItalic
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.FontUnderline=CommonDialog1.FontUnderline
Text1.ForeColor=CommonDialog1.Color
EndSub
上面的程序首先设置通用对话框的Flags的属性,从而可以得到如图7-6的对话框。
图7-6字体对话框
程序运行结果如图7-7所示。
图7-7调试结果
7.1.4“打印”对话框
“打印”对话框是当Action为5时的通用对话框,可以通过“打印”对话框的名称框选择打印机,通过“打印”对话框的“属性”按扭设置打印机的属性。
“打印”对话框并不能处理打印工作,仅仅是一个供用户选择打印参数的界面,所选参数存于各属性中,再通过编写程序来实现打印机操作。
打印对话框的主要属性如下:
(1)Copies属性:
指定要打印的文档的拷贝数。
(2)FromPage和ToPage属性:
指定要打印的文档的页范围。
(3)hDC属性:
分配给打印机的句柄,用来识别对象的设备环境,用于API调用。
(4)Max和Min属性:
用来限制FromPage和ToPage的范围,其中Min指定所允许的起始页码,Max指定所允许的最后页码。
【例7.4】在窗体上创建一个通用对话框、一个文本框和一个命令按扭,建立打印对话框,打印文本框中的信息。
PrivateSubCommand1_Click()
CommonDialog1.ShowPrinter
ForI=1ToCommonDialog1.Copies
Printer.PrintText1.Text
Nexti
Printer.EndDoc
EndSub
程序执行如图7-8的打印对话框。
图7-8的打印对话框
7.1.5“帮助”对话框
“帮助”对话框可以用于制作应用程序的联机帮助。
“帮助”对话框本身不能建立应用程序的帮助文件,只能将已经创建好的帮助文件从磁盘中提取出来,并与界面连接起来,从而能够显示并搜索帮助信息的目的。
创建帮助文件需要用“帮助”编辑器生成帮助文件。
帮助对话框涉及到的重要属性有:
(1)HelpCommand:
返回或设置所需要的联机Help帮助类型。
(2)HelpFile:
指定Help文件的路径以及文件名称。
从而找到帮助文件,再从中找到相应内容,显示在Help窗口中。
(3)HelpKey:
该属性用于在帮助窗口中显示由该关键字指定的帮助信息。
(4)HelpContext:
其返回或设置所需要的HelpTopic的ContextID,一般与HelpCommand属性(设置为vbHelpContents)一起使用,指定要显示的HelpTopic。
【例7.5】设计一个调用VB.hlp的程序。
PrivateSubCommand1_Click()
CommonDialog1.HelpCommand=cdlHelpContents
CommonDialog1.HelpFile="C:
\Windows\help\notepad"
CommonDialog1.HelpKey="dlakglk"
CommonDialog1.ShowHelp
EndSub
7.2菜单设计
在Windows环境下,几乎所有的应用软件都通过菜单实现各种操作。
菜单是图形化用户界面一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,使用户能够更加方便、直观地访问这些命令。
Windows环境下的应用程序一般为用户提供两种菜单:
下拉菜单与快捷菜单。
下拉式菜单位于窗口的顶部,弹出式快捷菜单是独立于窗体而显示在窗体内的浮动菜单。
如图7-9说明了下拉式菜单系统的组成结构。
菜单栏
菜单标题菜单项
分隔条热键
菜单
图7-9菜单系统的组成结构
7.2.1菜单设计器的使用
在用VisualBasic设计下拉菜单时,可把每个菜单项(主菜单或子菜单项)看作一个图形对象,即控件,它具有与某些控件相同的属性。
对于面向对象的可视化程序设计的VisualBasic,可以使用菜单设计器来创建各菜单项,所有的设计都在菜单设计器窗口内完成。
利用这个窗口可以创建最多可达6层的下拉式菜单。
可以通过以下4种方法进入菜单编辑器:
(1)
(1)执行“工具”菜单中的“菜单编辑器”命令;
(2)
(2)使用热键Ctrl+E;
(3)(3)单击工具栏中的“菜单编辑器”按扭;
(4)(4)在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,然后单击“菜单编辑器”命令。
如图7-10用弹出菜单打开菜单编辑器窗口。
图7-10用弹出菜单打开菜单编辑器窗口
菜单编辑器窗口如图7-11,菜单编辑器窗口分为三个部分:
数据区、编辑区和菜单项显示区。
图7-11菜单设计器窗口
数据区是用来输入或修改菜单项,设置属性。
(1)
(1) 标题:
用来输入所要建立的菜单的名字及菜单中每个菜单项的标题(相当于控件的Caption属性)。
如果在该栏中输入一个减号(-),则可以在菜单中加入一条分隔线。
(2)
(2) 名称:
用来输入菜单名及各种菜单项的控件名(相当于控件的Name属性),它不在菜单中出现。
菜单名和菜单项都是控件,都为其取名,这些名称只在程序设计的时候使用。
(3)(3) 索引:
用来为用户建立的控件数组设立下标。
(4)(4) 快捷键:
使用一个列表框,用来设置菜单项的快捷键(热键)。
单击右端的箭头,下拉显示可提供使用的热键,可选择输入与菜单项等价的热键。
(5)(5) 帮助上下文:
可在该文本框中键入数值,这个值用来在帮助文件(用HelpFile属性设置)中找到相应的帮助主题。
(6)(6) 协调位置列表框用来确定菜单或菜单项是否出现或在什么位置出现。
该列表有4个选项:
◆◆ 0-None菜单项不显示。
◆◆ 1-Left菜单项靠左显示。
◆◆ 2-Middle菜单项居中显示。
◆◆ 3-Right菜单项靠右显示。
(7)(7) 复选:
选择该选项时,可以在相应的菜单项旁边加上指定的记号(例如“√”)。
它不改变菜单项的作用,也不影响事件过程对任何对象的执行结果,只是设置或重新设置菜单项旁的符号。
利用这个属性,可以指明某个菜单项当前是否处于活动状态。
(8)(8) 有效:
用来设置菜单项的操作状态。
在默认情况下该属性被设置为True,表示相应的菜单项可以对用户事件做出相应。
如果设置为False时,该菜单项会“变灰”,不可操作。
(9)(9) 可见:
确定菜单项是否可见。
当一个菜单项的“可见”属性设置为False时,该菜单项将暂时从菜单中去掉;如果把它的“可见”属性改为True,则该菜单项将从新出现在菜单中。
(10)(10)显示窗口列表:
当该选项被设置为“On”时,将显示当前打开的一系列窗口。
编辑区共有7个按扭,用来对输入的菜单项进行简单的编辑。
菜单操作按扭中的上下箭头按扭可调整菜单项在菜单列表框中的排列位置,左右箭头按扭可调整菜单项的层次。
在菜单列表框中,下级菜单项标题前比上级菜单项多“……”标志。
编辑区还有“插入”和“删除”按扭,菜单的插入和删除都可以在编辑区完成。
【例7.2】设计一个如图7-12所示的简易文本编辑排版系统,在菜单栏中有“文件”、“编辑”和“颜色”三个菜单,其中“文件”菜单中包含“新建”、“打开”、“保存”和“退出”4个菜单项。
“编辑”菜单中包含“复制”、“剪切”、“粘贴”和“插入”,其中“插入”菜单又有“符号”、“图片”和“文本框”3个菜单项,“文本框”又包含“横排”和“竖排”2个级联选项。
“颜色”菜单中包括“红色”、“蓝色”和“绿色”3个子菜单。
建立菜单大致可分成以下3个步骤:
(1)
(1)建立控件
本例中只需在窗体上放置一个文本框、一个通用对话框、一个按扭、两个框架和四个单选按扭,并设置文本框的多行属性(Multiline)和滚动条(ScroolBars)。
如图7-12初始界面。
图7-12初始界面
(2)
(2)设计菜单
打开菜单编辑器,按表7-4所示的文本编辑器菜单结构输入标题、名称和快捷键等。
输入如图7-13所示的菜单结构。
表7-4文本编辑器菜单结构
标题
名称
快捷键
标题
名称
快捷键
文件
FileMenu
…粘贴
EditPaste
Ctrl+P
…新建
FileNew
Ctrl+N
…插入
Insert
…打开
FileOpen
Ctrl+O
……符号
Sign
…保存
FileSave
Ctrl+S
……图形
Pict
…另存为
FileSaveAs
……文本框
TextB
…退出
FileExit
颜色
Color
编辑
EditMenu
…红色
RedColor
…复制
EditCopy
Ctrl+C
…蓝色
BlueColor
…剪切
EditCut
Ctrl+X
…绿色
GreenColor
图7-13菜单编辑器
(3)(3)为事件过程编写代码
在菜单建立好了以后,还需要编写相应的事件过程。
部分事件过程如下:
PrivateSubfileopen_click()'打开对话框
OnErrorGoTonofile'设置错误陷阱
CommonDialog1.Filter="文本文件|*.txt"'设置通用对话框的属性
CommonDialog1.CancelError=True
CommonDialog1.ShowOpen'设置文件“打开”对话框
Text1.Text=""
OpenCommonDialog1.FileNameForInputAs#1
DoWhileNotEOF
(1)
LineInput#1,inputdata
Text1.Text=Text1.Text&inputdata&vbCrLf
Loop
Close#1
ExitSub
nofile:
IfErr.Number=32755ThenExitSub
EndSub
PrivateSubfileexit_click()'退出对话框
End
EndSub
PrivateSubcolor_click()'颜色对话框
IfText1.Text=""Then
Red.Enabled=False
Blue.Enabled=False
Green.Enabled=False
E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第11章补充 界面设计 11 补充