您好,欢迎访问三七文档
计算机应用基础VisualBasic程序设计多文档界面设计开发多文档界面的一个应用程序至少需要两个窗体:一个(只能一个)MDI窗体(也叫父窗体)和一个(或若干个)子窗体。MDI窗体是作为子窗体的容器。子窗体或称文档窗体显示各自文档,所有子窗体具有相同的功能。在不同窗体中共用的过程,变量应存放在标准模块中。计算机应用基础VisualBasic程序设计多文档界面特点1.所有子窗体均显示在MDI窗体的工作区中。用户可改变、移动子窗体的大小,但被限制在MDI窗体中。2.当最小化子窗体时,它的图标将显示于MDI窗体上而不是在任务栏中。当最小化MDI窗体时,所有的子窗体也被最小化,只有MDI窗体的图标出现在任务栏中。3.当最大化一个子窗体时,它的标题与MDI窗体的标题一起显示在MDI窗体的标题栏上。4.MDI窗体和子窗体都可以有各自的菜单,当子窗体加载时覆盖MDI窗体的菜单。计算机应用基础VisualBasic程序设计创建:“工程/添加MDI窗体”命令标准窗体MDI窗体MDI子窗体(v6b8-1)设计:一般有菜单栏、工具栏、状态栏,不可有文本框等控件1.创建和设计MDI窗体计算机应用基础VisualBasic程序设计MDI子窗体主要是显示应用程序的文档,因此,在该窗体上应有文本框,也可以有菜单栏。创建:将一个普通窗体的MDIChild属性设置为True,即可创建MDI子窗体。若要创建多个子窗体,方法一:重复进行以上操作。方法二:可通过窗体类来实现,即可先创建一个子窗体作为这个应用程序文档的模板,然后通过对象变量来实现。PublicSubFileNewProc()DimNewDocAsNewfrmMDIChildStaticNoAsIntegerNo=No+1NewDoc.Caption=no&NoNewDoc.ShowEndSub2.创建和设计MDI子窗体事先创建的名为frmMDIChild的子窗体计算机应用基础VisualBasic程序设计(1)活动子窗体和活动控件MDI窗体的两个属性:ActiveForm和ActiveControl。例:某子窗体文本框中所选的文本,其表示为:frmMDI.ActiveForm.ActiveControl.SelText(2)显示MDI窗体及其子窗体显示任何窗体的方法为show,还有有关规则:•加载子窗体时,其父窗体会自动加载并显示;•加载MDI窗体时,其子窗体不会自动加载并显示;它有AutoShowChildren属性,决定是否自动显示子窗体。(3)用QueryUnload卸载MDI窗体3.MDI窗体与子窗体的交互计算机应用基础VisualBasic程序设计MDI窗体事例(1)显示打开的多个文档窗口要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True。(2)排列窗口利用Arrange方法进行层叠、平铺和排列图标。形式:MDI窗体对象.Arrange排列方式常数值描述vbCascade0层叠所有非最小化vbTileHorizontal1水平平铺所有非最小化vbTileVertical2垂直平铺所有非最小化vbArrangeIcons3重排最小化4.多文档界面应用程序中的“窗口”菜单计算机应用基础VisualBasic程序设计使用过Windows应用程序的读者想必有过这样的体验:当要退出Word时,如果在Word中的文档已修改过而未存盘,则将会显示一个对话框,询问用户是否要将修改过的文档存盘。在MDI应用程序中也有类似的情况,即不能随着父窗体的关闭而使所有的子窗体结束,因为这有可能造成子窗体内容的丢失。为此,VisualBasic提供了QueryUnload事件。其格式为:SubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)……EndSubSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)……EndSub5.MDI事件——QueryUnload事件计算机应用基础VisualBasic程序设计QueryUnload事件在关闭窗体或结束应用程序之前发生。当关闭一个MDI窗体时,QueryUnload事件首先在MDI窗体发生,然后在所有子窗体内发生。当一个子窗体或非MDI窗体关闭时,该窗体的QueryUnload事件在其Unload事件之前发生。QueryUnload事件有两个参数,其含义如下:(1)Cancel:如果把这个参数设置为除0以外的值(非0值),则停止所有装入的窗体的QueryUnload事件,且不关闭窗体和应用程序。(2)UnloadMode:指出发生QueryUnload事件的原因,它可以取5种值,其作用见下表:计算机应用基础VisualBasic程序设计值功能0用户已在窗体左上角的控制菜单框中选择“关闭”命令(或者双击该控制框,或者单击窗体右上角的关闭按钮)1在程序代码中调用Unload方法2退出Windows系统3正在用Windows任务管理器关闭应用程序4由于MDI父窗体关闭使得MDI子窗体关闭UnloadMode取值计算机应用基础VisualBasic程序设计该事件的主要用途是,在应用程序结束之前,查清楚每个窗体中是否有未终止的任务。例如,假定在某个窗体中还有未存盘的数据,应用程序将询问用户是否存盘。当结束应用程序时,可以用QueryUnload或者Unload事件过程把Cancel参数设置为True。两者之间的区别是,QueryUnload事件在清除所有窗体之前发生,而Unload事件在每个窗体被清除之前发生。计算机应用基础VisualBasic程序设计工具栏和状态栏计算机应用基础VisualBasic程序设计工具栏(ToolBar)位于MicrosoftWindowsCommonControls6.0部件。工具栏的建立通过ToolBar、ImageList组合使用来完成,其步骤是:(1)在ImageList控件中添加所需的图像。(2)在ToolBar控件中创建Button对象。(3)在ButtonClick事件中用SelectCase语句对各按钮进行相应的编程。计算机应用基础VisualBasic程序设计一、在ImageList控件中添加图像ImageList控件不单独使用,专门为其他控件提供图像库。索引(Index)与关键字(Key)是为了便于在ToolBar中给每个按钮添加图片用。在ToolBar中引用图像文件的扩展名:.ico、.bmp、.gif、.jpg等。计算机应用基础VisualBasic程序设计二、在ToolBar控件中添加按钮1.为工具栏连接图像ToolBar与ImageList的连接工具栏样式计算机应用基础VisualBasic程序设计2.为工具栏增加按钮索引(Index)、关键字(Key)是每个按钮的编号、标识,ButtonClick事件中引用;图像(Image)ImageList对象中的图像,值可以是Key或Index样式(Style),共6种Style=0Style=3Style=4Style=1Style=2除菜单按钮(5)外的5种样式计算机应用基础VisualBasic程序设计三、响应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.KeyCaseTNewFileNewProcCaseTOpenFileOpenProc.....计算机应用基础VisualBasic程序设计状态栏(StatusBar)状态栏显示系统信息和对用户的提示,如:系统日期、软件版本、光标的当前位置、键盘的状态等。一般在窗口的底部。建立状态栏可插入图像显示的文本样式计算机应用基础VisualBasic程序设计VB提供了剪贴板(Clipboard)功能,利用这一功能,可以把数据(文本或图形)放到剪贴板内,也可以从剪贴板取得数据。文本剪贴板用来处理文本的拷贝、粘贴等操作。与文本剪贴板有关的方法有以下几个:1.SetText方法格式:Clipboard.SetText源对象[,数据格式]SetText方法把由“源对象”指定的文本放入系统剪贴板。“Clipboard”是预定义标识符。“数据格式”是一个整数值,缺省时为1,即文本。该选择项还可以取另外一个值,即48896,它用于动态数据交换(DDE)。剪贴板计算机应用基础VisualBasic程序设计2.GetText方法格式:目标对象=Clipboard.GetText()GetText方法把系统剪贴板当前的内容返回到“目标对象”中。该方法可以像函数过程一样使用。3.Clear方法格式:Clipboard.Clear用Clear方法可以清除剪贴板中的内容。计算机应用基础VisualBasic程序设计RichTextBox控件可以输入和编辑文本,还可以实现多种文字格式、段落等的设置,还可以插入图形的功能,可真正构成一个像Word一样的字处理软件。1.文件操作方法(1)LoadFile方法LoadFile方法能够将RTF文件或文本文件装入控件,其形式如下:对象.LoadFile文件标识符[,文件类型]文件类型:0或rtfRTF为RTF文件(缺省);1或rtfTEXT为文本文件(2)SaveFile方法SaveFile方法将控件中的文档保存为RTF文件或文本文件,其形式:对象.SaveFile(文件标识符[,文件类型])RichTextBox控件位于MicrosoftRichTextBoxControls6.0部件计算机应用基础VisualBasic程序设计2.常用格式化属性格式化属性,可对该控件中选中的任何部分的文本使用不同的格式。分类属性值类型说明选中文本SelTextSelStartSelLength意义同Text控件对应属性字体、字号SelFontNameSelFontSize同上字型SelBoldSelItalicSelUnderlineSelStrikethru逻辑量粗体斜体下划线删除线上、下标SelCharOffset整型0上标0下标以Twip为单位颜色SelColor整型缩排SelIndentSelRightIndentSelHangingIndent数值型缩排单位以ScalMode决定对齐方式SelAlignment整型0左1右2中计算机应用基础VisualBasic程序设计3.插入图像在RichTextBox控件中可插入(*.bmp)的图像文件,形式如下:对象.OLEObjects.Add[索引],[关键字],文件标识符其中:OLEObjects是集合,包含一组添加到RichTextBox控件的对象;索引和关键字表示添加的元素编号和标识,可省,但逗号不能省。例如:RichTextBox1.OLEObjects.Add,,c:\windows\circles.bmp
本文标题:7.多文档界面设计
链接地址:https://www.777doc.com/doc-4798862 .html