VB多文档界面与工具栏设计_第1页
VB多文档界面与工具栏设计_第2页
VB多文档界面与工具栏设计_第3页
VB多文档界面与工具栏设计_第4页
VB多文档界面与工具栏设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本章主要任务本章主要任务: 理解普通窗体界面与多文档界面(理解普通窗体界面与多文档界面(MDI)的区别;)的区别; 掌握掌握Windows应用程序工具栏的制作方法、状态栏应用程序工具栏的制作方法、状态栏 的建立;的建立; 掌握掌握Windows应用程序的多文档界面设计的方法。应用程序的多文档界面设计的方法。 10.1 多文档界面设计多文档界面设计 标准窗体 MDI窗体 MDI子窗体 多文档界面由多文档界面由父窗口和子窗口父窗口和子窗口组成,一个父窗口可包含组成,一个父窗口可包含 多个子窗口,子窗口最小化后将以图标形式出现在父窗口中,多个子窗口,子窗口最小化后将以图标形式出现在父窗口中, 而不

2、会出现在而不会出现在Windows的任务栏中。当最小化父窗口时,所的任务栏中。当最小化父窗口时,所 有的子窗口也被最小化,只有父窗口的图标出现在任务栏中。有的子窗口也被最小化,只有父窗口的图标出现在任务栏中。 父窗口就是父窗口就是MDI窗体窗体,子窗口是指子窗口是指MDChild属性为属性为True的普的普 通窗体。通窗体。 用户要建立一个用户要建立一个MDI窗体,可以选择窗体,可以选择“工程工程”菜单中的菜单中的 “添加添加MDI窗体窗体”命令,会弹出命令,会弹出“添加添加MDI窗体窗体”对话框,对话框, 选择选择“新建新建MDI窗体窗体”或或“现存现存”的的MDI窗体,再选择窗体,再选择“

3、打打 开开”按钮。按钮。 10.1.1 创建多文档界面应用程序创建多文档界面应用程序 1创建创建MDI窗体窗体 一个应用程序只能有一个一个应用程序只能有一个MDI窗体,可以有多个窗体,可以有多个MDI子子 窗体。窗体。 MDI窗体类似于具有一个限制条件的普通窗体,除非控窗体类似于具有一个限制条件的普通窗体,除非控 件具有件具有Align属性属性(如如PictureBox控件控件)或者具有不可见界面或者具有不可见界面(如如 CommonDialog控件、控件、Timer控件控件),不能将控件直接放置在不能将控件直接放置在 MDI窗体上。窗体上。 2. 创建和设计创建和设计MDI子窗体子窗体 创建

4、:创建: MDI子窗体是一个MDIChild属性为True的普通窗 体。 要创建多个子窗体,通过窗体类来实现: Public Sub FileNewProc() Static No As Integer Dim NewDoc As New frmMDIChild No = No + 1 NewDoc.Caption = no & No NewDoc.Show End Sub 10.1.1 创建多文档界面应用程序创建多文档界面应用程序 10.1.2 显示显示MDI窗体及其子窗体窗体及其子窗体 显示任何窗体的方法为显示任何窗体的方法为show,还有有关规则:还有有关规则: (1)加载子窗体时,其父

5、窗体会自动加载并显示;反之)加载子窗体时,其父窗体会自动加载并显示;反之 则无。则无。 (2)MDI窗体有窗体有AutoShowChildren属性,决定是否自属性,决定是否自 动显示子窗体动显示子窗体 10.1.3 维护子窗体的状态信息维护子窗体的状态信息 MDI窗体被卸载时,窗体被卸载时,MDI窗体将触发窗体将触发QueryUnload事件事件, , 通过编写通过编写MDIMDI窗体的窗体的QueryUnloadQueryUnload事件驱动子程序来保存信事件驱动子程序来保存信 息。息。 10.1 多文档界面设计多文档界面设计 10.1.4 MDI应用程序中的菜单应用程序中的菜单 在在 M

6、DI 应用程序中,应用程序中,MDI 窗体和子窗体上都可以建立窗体和子窗体上都可以建立 菜单。每一个子窗体的菜单都显示在菜单。每一个子窗体的菜单都显示在 MDI 窗体上,而不是在窗体上,而不是在 子窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有子窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有 的话)就代替菜单栏上的的话)就代替菜单栏上的 MDI 窗体的菜单。如果没有可见的窗体的菜单。如果没有可见的 子窗体,或者如果带有焦点的子窗体没有菜单,则显示子窗体,或者如果带有焦点的子窗体没有菜单,则显示 MDI 窗体的菜单。窗体的菜单。 1创建创建 MDI 应用程序的菜单应用程序的菜单 2多文档

7、界面中的多文档界面中的“窗口窗口”菜单菜单 (1) 显示打开的多个文档窗口显示打开的多个文档窗口 要在某个菜单上显示所有打开的子窗体标题,只需利用要在某个菜单上显示所有打开的子窗体标题,只需利用 菜单编辑器将该菜单的菜单编辑器将该菜单的WindowList属性设置为属性设置为True。 (2).排列窗口排列窗口 利用利用Arrange方法进行层叠、平铺和排列图标。方法进行层叠、平铺和排列图标。 形式:形式: MDI窗体对象窗体对象.Arrange 排列方式排列方式 常数 值 描述 vbCascade 0 层叠所有非最小化 vbTileHorizontal 1 水平平铺所有非最小化 vbTile

8、Vertical 2 垂直平铺所有非最小化 vbArrangeIcons 3 重排最小化 10.1 多文档界面设计多文档界面设计 10.2.1 ToolBar控件控件 把把ToolBar控件添加到工具箱控件添加到工具箱, ,将将 “Microsoft Windows Common Controls 6.0”将控件添加到工具箱,通过将控件添加到工具箱,通过ToolBar、 ImageList组合使用建立工具栏,步骤组合使用建立工具栏,步骤 : 在在ToolBar控件中创建控件中创建Button对象。对象。 在在ImageList控件中添加所需的图象控件中添加所需的图象 ToolBar控件的控件的

9、ButtonClick()事件程序的编写事件程序的编写 在在ButtonClick事件中用事件中用Select Case语句对各按钮进行相语句对各按钮进行相 应的编程。应的编程。 10.2 工具栏工具栏 1、在、在ToolBar控件中添加按钮控件中添加按钮 1.为工具栏连接图象为工具栏连接图象 ToolBar与与 ImageList的连接的连接 工具栏样式工具栏样式 10.2 工具栏工具栏 2、在、在ImageList控件中添加图象控件中添加图象 ImageList控件不单独使用,专门为其它控件提供图像库控件不单独使用,专门为其它控件提供图像库. 索引(索引(Index)、)、 关键字(关键字

10、(Key) 在在ToolBar中引用中引用 图象文件的扩展名图象文件的扩展名 为:为: .ico、.bmp、.gif、.jpg等等 10.2 工具栏工具栏 3 .为工具栏增加按钮为工具栏增加按钮 索引(索引(Index)、关键字()、关键字(Key)每个)每个 按钮的编号、标识按钮的编号、标识, ButtonClick事件中引用;事件中引用; 图象图象(Image) ImageList对象中的对象中的 图象,值可以是图象,值可以是Key或或Index 样式样式(Style),共,共5种种 S t y l e = 0 S t y l e = 3 S t y l e = 4 S t y l e =

11、 1 S t y l e = 2 除菜单按钮除菜单按钮(5)外的外的4种样式种样式 10.2 工具栏工具栏 4、 响应响应ToolBar控件事件控件事件 ToolBar控件常用的事件有两个:控件常用的事件有两个:ButtonClick和和 ButtonMenuClick。前者对按钮样式为。前者对按钮样式为0-2,后者对样式为,后者对样式为5的菜的菜 单按钮。单按钮。 (1)用索引)用索引Index确定按钮确定按钮 (2)用关键字用关键字Key确定按钮确定按钮 Private Sub Toolbar1_ButtonClick(Byval Button As ComctlLib.Button) S

12、elect Case Button.Index Case 1 FileNewProc Case 2 FileOpenProc End Select End Sub 注意:第注意:第1个按钮的个按钮的Index值为值为1。用。用Index还是用还是用Key比较比较,Key 可读可读 性好,可维护性好。性好,可维护性好。 Select Case Button.Key Case TNew FileNewProc Case TOpen FileOpenProc . 10.2.2 手工创建工具栏手工创建工具栏 在窗体或在窗体或MDI窗体上手工创建工具栏,通常是用窗体上手工创建工具栏,通常是用 Pictu

13、reBox控件作为工具栏按钮的容器,用控件作为工具栏按钮的容器,用CommandButton 或或Image控件作为工具栏的按钮。要为工具栏上的每一个按控件作为工具栏的按钮。要为工具栏上的每一个按 钮指定一个图像和提示文字。钮指定一个图像和提示文字。 10.2 工具栏工具栏 StatusBar StatusBar 控件能提供一个长方条的框架控件能提供一个长方条的框架状态栏,通状态栏,通 常在窗体的底部,也可通过常在窗体的底部,也可通过AlignAlign属性决定状态栏出现的位属性决定状态栏出现的位 置。用它可以显示出应用程序的运行状态,如光标位置、系置。用它可以显示出应用程序的运行状态,如光标

14、位置、系 统时间、键盘的大小写状态等。统时间、键盘的大小写状态等。 10.3.1 建立状态栏建立状态栏 可插入图象 显示的文本 样式 10.3 状态栏状态栏 10.3.2 动态显示状态栏信息动态显示状态栏信息 运行时,有些状态栏信息系统已具备,能自动显示,运行时,有些状态栏信息系统已具备,能自动显示, 如图如图11-9状态栏中的第状态栏中的第35窗格,但第窗格,但第2个窗格的值要通过个窗格的值要通过 编程来实现,以动态地显示光标在文本中的位置。编程来实现,以动态地显示光标在文本中的位置。 Private Sub DocBox_Click() 当单击文本框时,当前光标位置在状态栏的第当单击文本框

15、时,当前光标位置在状态栏的第2个窗格显示个窗格显示 Findstart = DocBox.SelStart MDIForm1.StatusBar1.Panels(2).Text= Findstart End Sub 10.3 状态栏状态栏 RichTextBox控件可用于输入和编辑文本,它同时提供控件可用于输入和编辑文本,它同时提供 了比常规的了比常规的TextBox控件更高级的格式特性。控件更高级的格式特性。 RichTextBox控件可以输入和编辑文本,还可以实现多控件可以输入和编辑文本,还可以实现多 种文字格式、段落等的设置,还可以插入图形的功能,可真种文字格式、段落等的设置,还可以插入

16、图形的功能,可真 正构成一个象正构成一个象Word一样的字处理软件。一样的字处理软件。 选择选择“Microsoft Rich TextBox Controls 6.0”将控件添加将控件添加 到工具箱。到工具箱。 1.文件操作方法文件操作方法 10.4 一个简易的文本编辑器一个简易的文本编辑器 10.4.110.4.1 RichTextBox控件控件 (1)LoadFile方法方法 LoadFile方法能够将方法能够将RTF文件或文本文件装入控件,文件或文本文件装入控件, 其形式如下:其形式如下: 对象对象.LoadFile 文件标识符文件标识符,文件类型,文件类型 文件类型:文件类型: 0

17、或或rtfRTF为为RTF文件(缺省);文件(缺省);1或或 rtfTEXT为文本文件为文本文件 (2)SaveFile方法方法 SaveFile方法将控件中的文档保存为方法将控件中的文档保存为RTF文件或文本文文件或文本文 件,其形式:件,其形式: 对象对象. SaveFile(文件标识符(文件标识符,文件类型,文件类型) 10.4 一个简易的文本编辑器一个简易的文本编辑器 2常用格式化属性常用格式化属性 格式化属性,可对该控件中选中的任何部分的文本使用不同的格式格式化属性,可对该控件中选中的任何部分的文本使用不同的格式 分类 属性 值类型 说明 选中文本 SelText SelStart

18、SelLength 意义同 Text 控件对应属性 字体、字号 SelFontName SelFontSize 同上 字型 SelBold SelItalic SelUnderline SelStrikethru 逻辑量 粗体 斜体 下划线 删除线 上、下标 SelCharOffset 整型 0 上标 0 下标 以 Twip 为单位 颜色 SelColor 整型 缩排 SelIndent elRightIndent SelHangingIndent 数值型 缩排单位以 ScalMode 决定 对齐方式 SelAlignment 整型 0 左 1 右 2 中 10.4.2 界面设计界面设计 10.4.3 代码清单代码清单 本章介绍多文档程序设计方法,绝大多数基于本章介绍多文档程序设计方法,绝大多数基于 Windows的大型应用程序都是多文档界面,如的大型应用程序都是多文档界面,如 Microsoft Excel和和Microsoft Word等。多文档界面可等。多文档界面可 同时打开多个文档,它简化了文档之间的信息交换。同时打开多个文档,它简化了文档之间的信息交换。 多文档界面通常包含一个多文档界面通常包含一个MDI窗体(父窗体)和至窗体(父窗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论