Version 3.0
工具栏、状态栏和多文档窗口第八章
2
回顾
设计菜单和编写菜单代码
设计和使用窗口中的弹出菜单
使用系统对话框输入数据
使用对话框控件
设计和使用自定义对话框
3
目标
使用以下控件增加界面设计:
– 工具栏
– 状态栏
单文档窗口与多文档窗口之间的区别
设计和使用多文档窗口
4
工具栏
通常位于菜单栏下
提供工具栏按钮的目的:
– 提供对应用程序中常用菜单命令的快速访问
– 提供图形界面,方便用户访问常用的应用程序功能
一个应用程序可以有多个工具栏
可以使其显示,工具提示
– 即提供工具栏按钮用途简短文本说明的小型弹出式窗口工具箱中显示的工具栏图标
5
Visual Basic IDE 中的工具栏调试工具栏标准工具栏 工具提示编辑 窗体编辑器
6
向应用程序添加工具栏在设计视图中打开窗体打开,部件,对话框,并选中
,Microsoft Windows
Common Controls 6.0”
选项双击工具栏图标
,或者通过拖放来添加工具栏控件使用工具栏,属性页,对话框添加工具栏按钮
,组件,对话框带工具栏和工具栏按钮的窗体
7
工具栏和工具栏按钮属性
工具栏特有的属性:
– Style
– TextAlignment
– ToolTipText
工具栏按钮特有的属性:
– Index
– Style
– Value
8
工具栏方法和事件
Private Sub Toolbar1_ButtonClick(ByVal
Button As MSComctlLib.Button)
If Button.Index = 0 Then
MsgBox(“First Button Clicked”)
ElseIf Button.Index = 1 Then
MsgBox(“The Second Button”)
ElseIf Button.Index = 2 Then
MsgBox(“The Third Button Clicked”)
End If
End Sub
示例方法 事件
Move
Drag
ButtonClick
9
演示
请在 VB中演示
– 如何向应用程序添加工具栏
– 设计工具栏
– 添加提示文本
10
状态栏
通常显示在窗体的底部
告知用户应用程序的状态
可以划分为多个部分,每一部分称为一个面板
Visual Basic 特有的状态栏控件功能
– 最多可分成 16个面板,每个面板可以包含文本或图片
– 可以放置在应用程序的顶部、底部或两侧
– 还可以,飘浮,在应用程序窗体的内部显示在工具箱中的状态栏图标
11
向应用程序添加状态栏在设计视图中打开窗体双击状态栏图标,或通过拖放来添加状态栏控件使用状态栏
,属性页,对话框添加面板
12
状态栏和面板属性
状态栏属性:
– Panels
– Style
– ToolTipText
状态栏面板属性:
– Bevel
sbrNoBevel
sbrInset
sbrRaised sbrInset sbrNoBevel sbrRaised
13
状态栏方法和事件
状态栏方法:
– Move
– Drag
状态栏事件:
– PanelClick
– PanelDblClick
StatusBar1.Panels(1).Bevel=sbrNoBevel
StatusBar1.Panels(2).Style=sbrDate
示例
14
界面
界面是应用程序呈现给用户的,面貌,
Visual Basic 提供了两种类型的界面:
– 单文档界面
– 多文档界面
15
单文档界面 (SDI)
一次只允许打开一个文档
记事本、画图、写字板等就是 SDI 应用程序的示例
在只提供单一功能的应用程序中使用
16
单文档界面 (SDI) 示例单文档界面的窗口
17
请考虑记事本
– 一次只允许打开一个文件
– 要打开多个文件,必须打开和文件数一样多的记事本副本
SDI 不允许同时打开多个窗口
还有哪些单文档界面的程序呢?
使用 SDI 的缺点
18
允许同时打开多个窗口
将多个窗口作为一个单元处理
Microsoft Word 和 Microsoft Excel 就是 MDI 的示例多文档界面 (MDI)
19
多文档界面 (MDI) 示例显示文档的内部窗口 充当容器的外部窗口
20
需要 MDI 的示例
假定一个应用程序包含以下主表:
– 客户
– 项目
应用程序需要窗体来完成下列功能
– 设置定购单
– 跟踪 订单问题需要在一个界面内打开多个文件解决方案使用多文档界面 (MDI)
21
创建 MDI 应用程序
使用两个子窗体创建简单 MDI 应用程序的步骤:
– 从,工程,菜单中选择,
添加 MDI 窗体,选项
– 创建 MDI 子窗体,请从
“工程,菜单中选择
“添加窗体,选项
– 将子窗体的 MDIChild 属性设置为 True
MDI
子窗体
MDI
窗体
22
MDI 部件的特征 2-1
MDI 框架
– 多文档界面的,外部,窗口
– 包含一个“框架”窗口
– 可以打开多个子窗口
– 无法将 MDI 子窗口移至 MDI 框架区域外
– 无法放置没有 Align 属性或在运行时可见的控件
– 关闭 MDI 框架会自动关闭所有打开的 MDI 子窗口并退出应用程序
23
问题陈述:
– 需要了解当有多个子窗口打开时由哪个子窗口对所有操作做出响应
解决方案
–,活动,窗口中的文档
多个子窗口中,只有一个可以处于活动状态
活动窗口的特性
– 响应所有操作
– 最上面的窗口
– 标题栏颜色不同活动窗口与非活动窗口
24
激活与取消激活窗口
MDI 具有下列特征:
– 同时打开多个子窗口
– 只能有一个活动子窗口
激活窗口
– 使任意子窗口成为活动窗口
取消激活窗口
– 将,取消激活,当前的活动窗口,而激活需要的窗口
25
排列子窗口 - 层叠活动子窗口显示在前面
,而其他所有窗口显示在该窗口后面
MDIForm1.Arrange (vbCascade)
示例
26
排列子窗口 - 平铺
显示全部子窗口
窗口的大小相应调整
,以便在 MDI 框架内显示所有窗口
MDIForm1.Arrange
(vbVertical)
MDIForm1.Arrange
(vbHorizontal)
示例
27
总结 2-1
使用工具栏进行界面设计
– 工具栏及部件的使用
– 使用图像列表控件提供工具栏的图像
– 工具栏的设计:向导方式和手工方式
– 工具栏的属性、方法和事件,编码
使用状态栏进行界面设计
– 状态栏及其作用,设计
– 状态栏的属性、方法和事件
– 状态栏编码
28
总结 —2
单文档界面和多文档界面
– 文档界面的两种方式
– 单文档界面的概念及其局限性
– 多文档界面的概念及其优点
– 在 VB中创建和使用 MDI窗口
– MDI窗口的特征
– MDI应用程序示例