目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第1页实验4MDI窗体及工具栏目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第2页一、目的和要求了解MDI窗体和子窗体的特点掌握MDI窗体的程序设计方法掌握工具栏的属性设置和使用方法掌握图像列表的属性设置和使用方法掌握MDI窗体中菜单与工具栏的协调运用目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第3页二、预备知识1.MDI(多文档界面)多文档界面MDI(MultipleDocumentInterface)是指在一个父窗口中可以同时打开多个子窗口。MDI应用程序允许用户同时显示多个文档,每个文档显示在它自己的窗口中,文档或子窗口被包含在父窗口中。父窗口为应用程序中所有的子窗口提供工作空间。子窗口隶属于父窗口。如果父窗口关闭,则所有子窗口全部关闭。常见的Windows应用程序常采用多文档界面。例如,微软Office的几个组件程序,全部采用的是多文档界面。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第4页二、预备知识2.MDI窗体的创建(1)建立MDI窗体选择“工程”菜单,单击“添加MDI窗体”菜单项,或在工具栏上单击“添加窗体”按钮右边的下拉箭头,在弹出的菜单中单击“添加MDI窗体”菜单项。此时,在“工程资源管理器”窗口中会出现一个独特的MDI窗体图标。(2)添加子窗体,设置MDIChild属性选择菜单“工程”→“添加窗体”,弹出“添加窗体”对话框,选择“窗体”,单击“打开”按钮,设置窗体的MDIChild属性为True,就在MDI窗体中添加一个子窗体。重复此操作即可添加多个子窗体。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第5页二、预备知识3.工具栏与图像列表VisualBasic允许用户创建自己的工具栏,工具栏为用户提供了应用程序中最常用的菜单命令的快速访问方法,进一步增强应用程序的菜单界面。创建工具栏,需要使用ActiveX控件中的工具栏(Toolbar)控件和图像列表(ImageList)控件。在VisualBasic标准工具箱里没有ActiveX控件,用时必须添加。添加过程如下:选择“工程”菜单,单击“部件”菜单项,弹出“部件”对话框。在“部件”对话框的“控件”选项卡中,选择“MicrosoftWindowsCommonControls6.0”,单击“确定”按钮,关闭“部件”对话框。在标准工具箱中就可以看到多出的工具栏控件和图像列表控件等。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第6页二、预备知识图像列表控件是包含图像的集合,该集合中的每个图像对象都可以通过其索引(Index)或关键字(Key)属性被引用。图像列表控件不能独立使用,只是作为一个便于向其他控件提供图像的资料中心,相当于图像的仓库。VisualBasic中常通过ToolBar、TabStrip、ImageCombo等Windows通用控件来使用图像列表中的图像,在使用前必须先将图像列表对象绑定在Windows通用控件上。需要注意的是,图像列表对象一旦被绑定到Windows通用控件上,就不能再删除其中的图像,只可以在集合的末尾添加图像。如需要删除图像,必须先取消绑定。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第7页二、预备知识4.创建用户自定义工具栏创建用户自定义工具栏的一般步骤如下:(1)在MDI窗体上放置工具栏和图像列表对象在VisualBasic工具箱上单击ToolBar控件,并拖到MDI窗体的任何位置,创建一个ToolBar1对象,VisualBasic自动将ToolBar1移到顶部。单击ImageList控件,并拖到MDI窗体的任何位置(位置不重要,因为它总是不可见的),创建一个图像列表对象ImageList1。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第8页二、预备知识(2)设置图像列表对象属性,将所需的图像引入到图像列表中右击ImageList1,从弹出菜单中选择“属性”,进入“属性页”对话框,选择“图像”选项卡,单击“插入图片”按钮,将预先准备好的图像添加到ImageList1中,如图所示。添加多幅图片重复此步骤。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第9页二、预备知识(3)将图像列表对象绑定到工具栏上若要在工具栏中使用图像列表中的图像,必须先将图像列表对象绑定到工具栏上,具体操作如下:右击ToolBar1对象,选择“通用”选项卡,在“图像列表”下拉框里选择ImageList1,就将ImageList1绑定到ToolBar1上。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第10页二、预备知识(4)在工具栏中插入按钮并设置图标等属性选择工具栏“属性页”对话框中的“按钮”选项卡,单击“插入按钮”按钮,VisualBasic就会在工具栏上显示一个空白按钮,如图所示。重复此步骤插入多个按钮。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第11页二、预备知识(5)编写工具栏的ButtonClick事件代码双击工具栏,编写工具栏的ButtonClick事件代码,常使用分支结构来完成程序的设计:PrivateSubToolbar1ButtonClick(ByValButtonAs_MSComctlLib.Button)SelectCaseButton.IndexCase1要执行的代码Case2要执行的代码…EndSelectEndSub目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第12页二、预备知识Button.Index:表示工具栏按钮的索引,每个按钮对应一个索引值,单击工具栏上的按钮返回其按钮的索引值,根据索引值进入相应的Case分支。例如,单击工具栏最左边的按钮,Button.Index值为1,进入Case1进行事件处理。当然,也可以用Button.Key来设置分支条件。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第13页二、预备知识5.工具栏常用方法Add方法在工具栏上添加按钮,语法格式如下:工具栏名.Button.Add索引[,关键字,标题,样式,图像]Remove方法删除工具栏上的按钮,语法格式如下:工具栏名.Button.Remove索引目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第14页二、预备知识6.MDI子窗体的访问方法(1)创建菜单访问子窗体建立好MDI窗体,可运用菜单编辑器为其创建菜单。可在MDI窗体菜单的Click事件中用Load命令或Show方法显示子窗体。在MDI子窗体中,也可运用菜单编辑器为子窗体创建菜单。(2)创建工具栏访问子窗体为MDI应用程序创建工具栏,用工具栏上的按钮来访问子窗体。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第15页三、实验内容实验4-1实验4-2实验4-3目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第16页实验4-1【题目】运用菜单方式访问MDI窗体的子窗体。编制一个应用程序,包含一个MDI多文档界面窗体,并包含“诗歌欣赏”、“日期显示”及“字效设置”三个子窗体。在MDI窗体中每次只能显示一个子窗体,并运用菜单项选择子窗体的显示。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第17页实验4-1【要求】(1)为MDI窗体创建菜单,含“显示”、“字效设置”两个菜单。(2)“诗歌欣赏”子窗体如上图所示。单击单选框,文本框中显示相应作者的诗。文本框为多行显示。(3)“日期显示”子窗体中的标签对象显示系统的当前日期。“日期显示”子窗体与“诗歌欣赏”子窗体的控制为“显示”菜单的菜单项。(4)“字效设置”子窗体如上图所示,可设置标签文本内容的字体效果。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第18页实验4-1【分析】参见预备知识,创建MDI窗体,同时添加三个子窗体,子窗体的MDIChild属性设置为True。“诗歌欣赏”子窗体的多行文本显示,可以运用Chr(13)&Chr(10)进行回车换行处理。显示系统的当前日期可通过调用Date函数获取。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第19页实验4-1【实验步骤】(1)界面设计请参照图4-6所示的界面设计窗体。(2)完善程序代码(3)运行工程并保存文件运行程序,单击菜单,操作子窗体,观察运行结果,最后单击“保存”按钮将所有文件保存。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第20页实验4-2【题目】运用菜单及工具栏两种方式实现MDI子窗体的切换,同时工具栏上的图标按钮提供菜单命令的快捷访问方式,具有显示和背景色两个菜单的功能,运行界面如图所示。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第21页实验4-2【要求】(1)具有实验4-1的显示菜单功能,同时又可以设置MDI窗体的背景色(红或绿)。(2)运用菜单及工具栏两种方式实现MDI子窗体的切换。(3)设置工具栏图标按钮的菜单命令的快捷访问方式。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第22页实验4-2【实验步骤】(1)界面设计请参照图4-7所示的界面设计窗体。(2)完善程序代码(3)运行工程并保存文件运行程序,单击菜单和工具栏,观察运行结果,将MDI窗体保存为F4-2.frm,两个子窗体分别另存为F4-2-1.frm(“诗歌欣赏”子窗体)和F4-2-2.frm(“日期显示”子窗体),工程保存为P4-2.vbp。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第23页实验4-3【题目】设计一个窗体,窗体具有字体效果设置和文本处理功能,如加粗、倾斜、文本居中、文本居右等功能。采用工具栏图标按钮方式进行字体效果设置和文本处理功能的快捷调用。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第24页实验4-3【要求】(1)合理设计工具栏按钮的样式。(2)实现图标按钮倾斜、加粗、居中等功能。【分析】字体的加粗、倾斜、加下划线这三个功能可以同时有效,而文本的居中、居左、居右只能一个有效,所以设置字体效果三个按钮样式为开关按钮,文本效果三个按钮样式为编组按钮。两类按钮之间用分隔按钮隔开。运行界面如图4-8所示,图中字体效果为倾斜并加下划线,文本效果为居中。目的和要求上一页下一页退出预备知识VisualBasic程序设计实验指导第25页实验4-3【实验步骤】略。完成后将窗体保存为F4-3.frm,工程保存为P4-3.vbp。