第7章用户界面设计7.1常用控件窗体、标签、文本框、命令按钮、列表框、组合框7.1.1单选按钮、复选框和框架1.单选按钮(OptionButton)单选按钮以组的形式出现,允许选择一项。重要属性Caption属性按钮上显示的文本Value属性表示单选按钮的状态:True-被选定福False-—未被选定重要事件Click事件单击后使Value属性为True2.复选框(CheckBox)Value属性值为整型,表示复选框的状态:0-vbUnchecked未选定1vbChecked被选定2一vbGrayed灰色,并显示一个选中标记。重要事件Click事件例7.1通过单选按钮和复选框设置文本框的字体3.框架(Frame)具有容器功能先建立框架,然后将各控件放置其中。Caption属性框架上的标题文本框架可以响应Click和DoubleClick事件,但一般不需要编写事件过程。例7.2框架用法示例7.1.2滚动条和进度条滚动条(ScrolIBar)通常附在窗体上协助观察数据或确定位置,也可作为数据输入工具。进度条(ProgressBar)用来指示事务处理的进度。滚动条有水平和垂直两种进度条没有水平垂直之分滚动条和ProgreB控件口口区水平滚动条(HSerl1Bar)国a国口Preeress控件-垂直流动条VSerol1Bar
第 7 章 用户界面设计 7.1 常用控件 窗体、标签、文本框、命令按钮、列表框、组合框 7.1.1 单选按钮、复选框和框架 1.单选按钮(OptionButton ) 单选按钮以组的形式出现,允许选择一项。 重要属性 Caption 属性 按钮上显示的文本 Value 属性 表示单选按钮的状态: True —— 被选定 False —— 未被选定 重要事件 Click 事件 单击后使 Value 属性为 True 2.复选框(CheckBox) Value 属性值为整型,表示复选框的状态: 0 —— vbUnchecked 未选定 1 —— vbChecked 被选定 2 —— vbGrayed 灰色,并显示一个选中标记。 重要事件 Click 事件 例 7.1 通过单选按钮和复选框设置文本框的字体 3.框架 (Frame) 具有容器功能 先建立框架,然后将各控件放置其中。 Caption 属性 框架上的标题文本 框架可以响应 Click 和 DoubleClick 事件,但一般不需要编写事件过程。 例 7.2 框架用法示例 7.1.2 滚动条和进度条 滚动条(ScrollBar)通常附在窗体上协助观察数据或确定位置,也可作为数据输入工具。进度 条(ProgressBar)用来指示事务处理的进度。 滚动条有水平和垂直两种 进度条没有水平垂直之分
滚动条属性*Value滑块当前位置的值(缺省为0)Min滑块最小位置值(缺省为0)*Max滑块最大位置值SmallChange单击滚动条两端的箭头时,Value属性(滑块位置)改变值→LargeChange单击滚动条的空白区域时,Value属性改变值滚动条事件Scroll当拖动滑块时触发Changed改变Value属性时触发例7.3计算0~18之间某个数阶乘,数据由滚动条获得。Max属性为18,Min属性为0,Value初值为0,SmallChange属性为1,LargeChange属性为3例7.4设计一个调色板应用程序,使用三个滚动条作为三种基本颜色的输入工具。ProgressBar控件MicrosoftWindowsCommonContril6.0部件中Max和Min设置控件的界限Value控件执行阶段被填充的数目,直到等于Max属性值。控件显示的填充数是Value属性与Max和Min属性之间的比值在对ProgressBar编程时,必须先确定Value属性上限。例如,下载文件,可将Max设置为文件长度。在该文件下载过程中,将Value属性设置为文件已经下载的字节数。例7.5用进度条来指示一个大数组的计算进度。7.13图形框和图像框图形框PictureBox控件作用:显示图片,也可作为其他控件的容器在程序运行时装入图形:图形框.Picture=LoadPicture("图形文件名")删除图形框中图形,可用LoadPictureOAutosize属性True图形框自动调整大小与图片匹配False图形超过图形框的部分将被剪裁掉图像框Image使用方法与图形框相同。图像框占用更少的内存,描绘得更快。图像框内不能存放其他控件Stretch属性False图像框自动改变大小适应其中的图形True图形根据图像框的大小自动调整尺寸例7.6本例说明图像框的Stretch属性对加载的图形的影响。7.1.4定时器定时器以一定的时间间隔产生Timer事件口属性
滚动条属性 ❖ Value 滑块当前位置的值(缺省为 0) ❖ Min 滑块最小位置值(缺省为 0) ❖ Max 滑块最大位置值 ❖ SmallChange 单击滚动条两端的箭头时,Value 属性(滑块位置)改变值 ❖ LargeChange 单击滚动条的空白区域时,Value 属性改变值 滚动条事件 Scroll 当拖动滑块时触发 Changed 改变 Value 属性时触发 例 7.3 计算 0~18 之间某个数阶乘,数据由滚动条获得。 Max 属性为 18,Min 属性为 0, Value 初值为 0, SmallChange 属性为 1,LargeChange 属 性为 3 例 7.4 设计一个调色板应用程序,使用三个滚动条作为三种基本颜色的输入工具。 ProgressBar 控件 Microsoft Windows Common Contril6.0 部件中 Max 和 Min 设置控件的界限 Value 控件执行阶段被填充的数目,直到等于 Max 属性值。控件显示的填充数是 Value 属性 与 Max 和 Min 属性之间的比值 在对 ProgressBar 编程时,必须先确定 Value 属性上限。例如,下载文件,可将 Max 设置为 文件长度。在该文件下载过程中,将 Value 属性设置为文件已经下载的字节数。 例 7.5 用进度条来指示一个大数组的计算进度。 7.1.3 图形框和图像框 图形框 PictureBox 控件 作用:显示图片,也可作为其他控件的容器 在程序运行时装入图形 : 图形框.Picture = LoadPicture("图形文件名") 删除图形框中图形,可用 LoadPicture() Autosize 属性 True 图形框自动调整大小与图片匹配 False 图形超过图形框的部分将被剪裁掉 图像框 Image 使用方法与图形框相同。图像框占用更少的内存,描绘得更快。图像框内不能存放其他控件 Stretch 属性 False 图像框自动改变大小适应其中的图形 True 图形根据图像框的大小自动调整尺寸 例 7.6 本例说明图像框的 Stretch 属性对加载的图形的影响。 7.1.4 定时器 定时器以一定的时间间隔产生 Timer 事件 ❑ 属性
Enabled为False时定时器不产生Tick事件Interval触发Timer事件的时间间隔(ms)口事件定时器控件只有一个Timer事件产生Timer事件条件Enabled=True;Interval>0例7.7设计一个倒计时应用程序例7.8用一个定时器控制蝴蝶在窗体内的飞舞7.2通用对话框VB提供了一组基于WindoWs的标准对话框。利用通用对话框控件可在窗体上创建打开文件、保存文件、颜色、字体、打印等对话框。通用对话框不是标准控件,是一种ActiveX控件,位于MicrosoftCommonDialogControl6.0部件中。通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作,如果想要实现这些功能则需要编程实现。引例7.9通过打开文件对话框,选择一个BMP位图文件,在图形框中显示该图片。通用对话框的基本属性和方法(1)Action属性和Show方法(只能在程序中赋值)通用对话框的类型Action属性Show方法1打开文件对话框ShowOpen2另存为对话框ShowSave3颜色对话框ShowColor4字体对话框ShowFont5打印机对话框ShowPrinter6帮助对话框ShowHelp通用对话框的基本属性和方法(2)DialogTitle属性设置通用对话框标题(3)CancelError属性True:选择取消按钮,Err.Number设置为32755(cdCancel)。False:选择取消按钮,没有错误警告。7.2.1打开文件对话框由Action=1或者ShowOpen方法来实现重要属性:(1)FileName文件名称,包含路径(2) FileTitle文件名,不包含路径(3) Filter确定所显示文件的类型例如:TextFiles*.txt|所有文件**显示文本文件和所有文件
Enabled 为 False 时定时器不产生 Tick 事件 Interval 触发 Timer 事件的时间间隔(ms) ❑ 事件 定时器控件只有一个 Timer 事件 产生 Timer 事件条件 Enabled=True; Interval>0 例 7.7 设计一个倒计时应用程序 例 7.8 用一个定时器控制蝴蝶在窗体内的飞舞 7.2 通用对话框 VB 提供了一组基于 Windows 的标准对话框。利用通用对话框控件可在窗体上创建打开文 件、保存文件、颜色、字体、打印等对话框。 通用对话框不是标准控件,是一种 ActiveX 控件,位于 Microsoft Common Dialog Control 6.0 部件中。 通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面,不能真正实现文 件打开、文件存储、设置颜色、字体设置、打印等操作,如果想要实现这些功能则需要编程 实现。 引例 7.9 通过打开文件对话框,选择一个 BMP 位图文件,在图形框中显示该图片。 通用对话框的基本属性和方法 (1) Action 属性和 Show 方法 (只能在程序中赋值) 通用对话框的基本属性和方法 (2) DialogTitle 属性 设置通用对话框标题 (3) CancelError 属性 True:选择取消按钮,Err.Number 设置为 32755(cdCancel)。 False:选择取消按钮,没有错误警告。 7.2.1 打开文件对话框 由 Action=1 或者 ShowOpen 方法来实现 重要属性 : (1) FileName 文件名称,包含路径 (2) FileTitle 文件名,不包含路径 (3) Filter 确定所显示文件的类型 例如:Text Files|*.txt|所有文件|*.*显示文本文件和所有文件 帮助对话框 6 ShowHelp 打印机对话框 5 ShowPrinter 字体对话框 4 ShowFont 颜色对话框 3 ShowColor 另存为对话框 2 ShowSave 打开文件对话框 1 ShowOpen 通用对话框的类型 Action属性 Show方法
(4)Filterlndex文件列表中指定某类型文件(5)InitDir初始化路径,指定初始目录例7.10编写一个简单的文本文件编辑程序Poral口口区打开..另存为.,颜色...字体.打印..7.2.2保存文件对话框由ShowSave方法来实现与打开文件对话框的属性基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名。例7.11为例7.10中的另存为命令按钮编写代码,保存文本框内的信息。Sub Command2_Click OCommonDialogl.ShowSaveOpen CommonDialog1.filename For Output As #1保存文件Print #1, Text1.TextClose #1·关闭文件End Sub7.2.3颜色对话框由ShowColor方法打开颜色对话框重要属性Color,它返回或设置选定的颜色例7.12为例7.10中的颜色命令按钮编写事件过程,设置文本框的前景色。Sub Command3_Click OCommonDialog1.ShowColorText1.ForeColor=CommonDialog1.ColorEnd Sub7.2.4字体对话框由ShowFont方法来实现Font获取选择的字体Color选定的颜色T?X车体@0大小()瑞定A热K显示字体对话框前必须44S0Wu设置Flags属性,否则将隐软中文计厂下005宇特集Q发生不存在字体错误通常设置为H103
(4) FilterIndex 文件列表中指定某类型文件 (5) InitDir 初始化路径,指定初始目录 例 7.10 编写一个简单的文本文件编辑程序 7.2.2 保存文件对话框 由 ShowSave 方法来实现 与打开文件对话框的属性基本相同,特有的属性是 DefaultExt 属性,用于设置缺省的扩展 名 。 例 7.11 为例 7.10 中的另存为命令按钮编写代码,保存文本框内的信息。 Sub Command2_Click () CommonDialog1.ShowSave Open CommonDialog1.filename For Output As #1 Print #1, Text1.Text '保存文件 Close #1 ' 关闭文件 End Sub 7.2.3 颜色对话框 由 ShowColor 方法打开颜色对话框 重要属性 Color,它返回或设置选定的颜色 例 7.12 为例 7.10 中的颜色命令按钮编写事件过程,设置文本框的前景色。 Sub Command3_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 7.2.4 字体对话框 由 ShowFont 方法来实现 Font 获取选择的字体 Color 选定的颜色 显示字体对话框前必须 设置Flags属性,否则将 发生不存在字体错误 。 通常设置为H103
例7.13为例7.10中的字体按钮编写设置文本框字体的过程。7.3菜单设计菜单有下拉式菜单和弹出菜单(上下文菜单)。下拉式菜单的组成结构:7.3.1菜单编辑器莱单编辑器区标题P):确定取消名称索引α:口快捷键(S):(None)菜单项属性帮助上下文ID0协调位置@):口o- Hone复选(C)区有效(E)可见显示窗口列表()册除(()++个+下一个(插入()操作按钮文件A新建Ctrl+H打算Ctrl+0保存Ctrl+s菜单列表框劳存为退出编轻一复制Ctrl+C菜单项除了Name、Visible、Enabled等属性之外,还具有下列重要属性;(1)Text菜单项上显示的标题文本在字符前加一个&符号构成热键。例如,输入“新建(&N",则菜单显示“新建(N)",N为热键。菜单项的分隔符,输入一个减号“”。(2)ShortCut设置菜单项的快捷键。(3)Checked控制菜单项左边是否显示"菜单项的事件Click为菜单项编写程序例7.15将例7.10中的命令组织成菜单。7.3.2弹出菜单独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取决于单击鼠标键时的位置。设计过程与普通菜单相同。菜单弹出的方法:[对象.JPopupMenu菜单名[,标志,x,y]标志,表示弹出的位置和触发的键Sub Text1_MouseDown(..)IfButton=2ThenPopupMenuEditMenuEnd Sub例7.16为例7.15中的文本框配置弹出菜单7.4多重窗体
例 7.13 为例 7.10 中的字体按钮编写设置文本框字体的过程。 7.3 菜单设计 菜单有下拉式菜单和弹出菜单(上下文菜单)。下拉式菜单的组成结构: 7.3.1 菜单编辑器 菜单项除了 Name、Visible、Enabled 等属性之外,还具有下列重要属性: (1) Text 菜单项上显示的标题文本 在字符前加一个&符号构成热键。例如,输入“新建(&N)”,则菜单显示“新建(N)”,N 为热 键。 菜单项的分隔符,输入一个减号“-”。 (2) ShortCut 设置菜单项的快捷键。 (3) Checked 控制菜单项左边是否显示“√” 菜单项的事件 Click 为菜单项编写程序 例 7.15 将例 7.10 中的命令组织成菜单。 7.3.2 弹出菜单 独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取决于单击鼠标键时的位置。 设计过程与普通菜单相同。菜单弹出的方法: [对象.]PopupMenu 菜单名[, 标志, x, y] 标志,表示弹出的位置和触发的键 Sub Text1_MouseDown(.) If Button = 2 Then PopupMenu EditMenu End Sub 例 7.16 为例 7.15 中的文本框配置弹出菜单 7.4 多重窗体 菜单列表框 菜单项属性 操作按钮