计算机软件及应用多文档界面与工具栏设计_第1页
计算机软件及应用多文档界面与工具栏设计_第2页
计算机软件及应用多文档界面与工具栏设计_第3页
计算机软件及应用多文档界面与工具栏设计_第4页
计算机软件及应用多文档界面与工具栏设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

多重文档界面MDI(MultipleDocumentInterface)是Windows应用程序的典型结构。利用MDI可以在一个包容式窗体中包含多个窗体,而且可以同时显示多个文件(文档),每个文件都在自己的窗口内显示。这种应用程序由“父窗口”和“子窗口”构成。注意,MDI与多重窗体不是一个概念。多重程序中的各个窗体是彼此独立的。MDI虽然也可以含有多个窗体,但他是有一个父窗体,其他窗体(子窗体)都在父窗体内。11.1Windows界面样式11.1.1Windows界面样式的种类Windows应用程序是以图形用户界面(GUI)为基础的,基本样式主要有两种:单文档界面(SDI)和多文档界面(MDI),此外,还有一种,即资源管理器样式。1、单文档界面在此方式下,只能打开一个文档。如Windows下的记事本。2、多文档界面可以同时打开多个文档,每个文档都出现在自己的窗口中。如MicrosoftExcel等。3、资源管理器样式资源管理器样式界面是一个窗口,它含有两个窗格,其中左半部是一个树形的或者层次型结构,右半部是一个显示区,可用来定位或浏览大量的文档、图片或文件。4、VisualBasic中的界面样式VisualBasic支持SDI和MDI两种界面样式。在启动VisualBasic时,可以进入MDI样式,也可以进入SDI样式,以及资源管理器样式。方法:新建工程VB应用程序向导按照向导一步步进行即可。11.1.2多文档界面设计标准窗体MDI窗体MDI子窗体1、多文档界面由父窗口和子窗口组成,一个父窗口可包含多个子窗口,子窗口最小化后将以图标形式出现在父窗口中,而不会出现在Windows的任务栏中。当最小化父窗口时,所有的子窗口也被最小化,只有父窗口的图标出现在任务栏中。父窗口就是MDI窗体,子窗口是指MDChild属性为True的普通窗体。

2、引例【例11.1】建立一个MDI文本书写器多文档界面主要用来设计以文档为核心的应用程序。这类应用程序允许用户同时打开多个类似的文档。为了用VisualBasic建立一个文本书写器应用程序,至少需要两个窗体:一个MDI窗体和一个子窗体。11.1.3、建立MDI多窗体应用程序的步骤:(1)“新建工程”(2)“工程”菜单中选择“添加MDI窗体”(3)设置form1的MDIChild属性为True要创建多个子窗体,可以通过窗体类来实现:

PublicSubFileNewProc()‘通用过程

DimNewFormAsNewform1No=No+1NewForm.Caption="no"&NoNewForm.Show EndSub

11.1.4、MDI窗体的特点:1.MDI窗体是子窗体的容器;2.MDI窗体可以有自己的菜单,子窗体的菜单被迁移到父窗体;3.在MDI窗体添加带有Align属性的控件;4.最大化MDI子窗体时,子窗体的标题显示在MDI窗体的标题。5.一个工程中只允许有一个MDI窗体。6.当关闭MDI窗体时将自动关闭所有打开的子窗体。11.1.5、MDI窗体的属性、方法:

MdiChild属性:为True表示子窗体,为False表示非子窗体;该属性只能在属性窗口设置。

Arrange方法:窗口的排列方式。

MDI窗体.Arrange方式11.1.6、MDI窗体与子窗体的交互MDI窗体的两个属性:ActiveForm和ActiveControl分别表示活动子窗体和活动控件。例将子窗体的文本框中所选文本复制到剪贴板上:ClipBoard.SetTextfrmMDI.ActiveForm.ActiveControl.SelText11.1.7、显示MDI窗体及其子窗体

显示任何窗体的方法为show,还有有关规则:

加载子窗体时,其父窗体会自动加载并显示;反之则无。

MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体

11.1.8、多文档界面应用程序中的“窗口”菜单

要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True。

例如:多文档应用程序举例。Dimno%PrivateSubpp_Click()MDIForm1.Arrange1EndSubPrivateSubarrangicon_Click()MDIForm1.Arrange3EndSubPrivateSubcd_Click()MDIForm1.Arrange0EndSubPrivateSubnew_Click()DimNewformAsNewForm1no=no+1Newform.Caption="no"&noNewform.ShowEndSubPrivateSubexit_Click()EndEndSub

用户要建立一个MDI窗体,可以选择“工程”菜单中的“添加MDI窗体”命令,会弹出“添加MDI窗体”对话框,选择“新建MDI窗体”或“现存”的MDI窗体,再选择“打开”按钮。11.1.9创建多文档界面应用程序的一般过程1.创建MDI窗体

一个应用程序只能有一个MDI窗体,可以有多个MDI子窗体。

MDI窗体类似于具有一个限制条件的普通窗体,除非控件具有Align属性(如PictureBox控件)或者具有不可见界面(如CommonDialog控件、Timer控件),不能将控件直接放置在MDI窗体上。2.创建和设计MDI子窗体创建:MDI子窗体是一个MDIChild属性为True的普通窗体。要创建多个子窗体,通过窗体类来实现:

PublicSubFileNewProc()StaticNoAsIntegerDimNewDocAsNewfrmMDIChildNo=No+1NewDoc.Caption="no"&NoNewDoc.Show EndSub

3、显示MDI窗体及其子窗体

显示任何窗体的方法为show,还有有关规则:(1)加载子窗体时,其父窗体会自动加载并显示;反之则无。(2)MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体MDI窗体被卸载时,MDI窗体将触发QueryUnload事件,通过编写MDI窗体的QueryUnload事件驱动子程序来保存信息。

11.1.10MDI应用程序中的菜单

MDI应用程序中,MDI窗体和子窗体上都可以建立菜单。每一个子窗体的菜单都显示在

MDI窗体上,而不是在子窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有的话)就代替菜单栏上的

MDI窗体的菜单。如果没有可见的子窗体,或者如果带有焦点的子窗体没有菜单,则显示

MDI窗体的菜单。

1.创建

MDI应用程序的菜单

2.多文档界面中的“窗口”菜单

12.2工具栏

12.2.1ToolBar控件

把ToolBar控件添加到工具箱,将“MicrosoftWindowsCommonControls6.0”将控件添加到工具箱,通过ToolBar、ImageList组合使用建立工具栏,步骤在ToolBar控件中创建Button对象。在ImageList控件中添加所需的图象

ToolBar控件的ButtonClick()事件程序的编写在ButtonClick事件中用SelectCase语句对各按钮进行相应的编程。1、在ToolBar控件中添加按钮

1.为工具栏连接图象

ToolBar与ImageList的连接工具栏样式2、在ImageList控件中添加图象

ImageList控件不单独使用,专门为其它控件提供图像库.索引(Index)、关键字(Key)在ToolBar中引用图象文件的扩展名为:.ico、.bmp、.gif、.jpg等3.为工具栏增加按钮索引(Index)、关键字(Key)每个按钮的编号、标识,ButtonClick事件中引用;图象(Image)ImageList对象中的图象,值可以是Key或Index样式(Style),共5种除菜单按钮(5)外的4种样式4、响应ToolBar控件事件PrivateSubToolbar1_ButtonClick(ByvalButtonAsComctlLib.Button)SelectCaseButton.IndexCase1FileNewProcCase2FileOpenProc……EndSelectEndSub12.4.2手工创建工具栏

在窗体或MDI窗体上手工创建工具栏,通常是用PictureBox控件作为工具栏按钮的容器,用CommandButton或Image控件作为工具栏的按钮。要为工具栏上的每一个按钮指定一个图像和提示文字。

StatusBar控件能提供一个长方条的框架—状态栏,通常在窗体的底部,也可通过Align属性决定状态栏出现的位置。用它可以显示出应用程序的运行状态,如光标位置、系统时间、键盘的大小写状态等。12.3.1建立状态栏

可插入图象显示的文本样式12.3状态栏在窗体上添加StatusBar控件。右键单击,打开属性页12.3.2动态显示状态栏信息

运行时,有些状态栏信息系统已具备,能自动显示,如word的编辑窗口的状态栏。通过编程可以动态地显示光标在文本中的位置。PrivateSubDocBox_Click()'当单击文本框时,当前光标位置在状态栏的第2个窗格显示Findstart=DocBox.SelStartMDIForm1.StatusBar1.Panels(2).Text=FindstartEndSub4、响应ToolBar控件事件

ToolBar控件常用的事件有两个:ButtonClick和ButtonMenuClick。前者对按钮样式为0-2,后者对样式为5的菜单按钮。(1)用索引Index确定按钮(2)用关键字Key确定按钮PrivateSubToolbar1_ButtonClick(ByvalButtonAsComctlLib.Button)SelectCaseButton.IndexCase1FileNewProcCase2FileOpenProc……EndSelectEndSub注意:第1个按钮的Index值为1。用Index还是用Key比较,Key可读性好,可维护性好。SelectCaseButton.KeyCase"TNew"FileNewProcCase"TOpen"FileOpenProc

.....

11.2.2手工创建工具栏

在窗体或MDI窗体上手工创建工具栏,通常是用PictureBox控件作为工具栏按钮的容器,用CommandButton或Image控件作为工具栏的按钮。要为工具栏上的每一个按钮指定一个图像和提示文字。11.2工具栏

StatusBar控件能提供一个长方条的框架—状态栏,通常在窗体的底部,也可通过Align属性决定状态栏出现的位置。用它可以显示出应用程序的运行状态,如光标位置、系统时间、键盘的大小写状态等。11.3.1建立状态栏

可插入图象显示的文本样式11.3状态栏

RichTextBox控件可用于输入和编辑文本,它同时提供了比常规的TextBox控件更

温馨提示

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

评论

0/150

提交评论