Visual Basic 程序设计1 (16).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Visual Basic 程序设计1 (16).ppt》由会员分享,可在线阅读,更多相关《Visual Basic 程序设计1 (16).ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Visual Basic 程序设计程序设计第十七讲第十七讲 2课时课时教学目标及基本要求教学目标及基本要求了解多文档界面了解多文档界面MDI的特性及应用的特性及应用掌握工具栏和状态栏的创建及应用掌握工具栏和状态栏的创建及应用使用画点的使用画点的Pset方法、画直线和矩形的方法、画直线和矩形的Line方法、画圆和椭圆的方法、画圆和椭圆的Circle方法绘制图形方法绘制图形教学重点教学重点 多文档界面多文档界面MDI的创建及应用的创建及应用工具栏的创建及应用工具栏的创建及应用状态栏的创建及应用状态栏的创建及应用图形设计的基础知识图形设计的基础知识 教学难点教学难点 工具栏、状态栏及图形的设计;工具
2、栏、状态栏及图形的设计;教学内容教学内容 多文档界面的特性多文档界面的特性创建和设计多文档界面创建和设计多文档界面使用使用MDI窗体与子窗体窗体与子窗体MDI应用程序中的菜单应用程序中的菜单多文档界面应用程序中的子窗体排列多文档界面应用程序中的子窗体排列工具栏设计工具栏设计状态栏设计状态栏设计图形设计中的坐标系统图形设计中的坐标系统图形设计中颜色的设置图形设计中颜色的设置图形处理图形处理多文档界面设计多文档界面设计多文档界面的特性多文档界面的特性 设计阶段多文档界面的特性设计阶段多文档界面的特性 运行期间运行期间MDIMDI窗体的特性窗体的特性 多文档界面设计多文档界面设计创建和设计多文档界面
3、创建和设计多文档界面 创建和设计创建和设计MDIMDI窗体窗体(1)(1)添加添加MDIMDI窗体:执行窗体:执行“工程工程”菜单中的菜单中的“添加添加MDIMDI窗体窗体”命令,会弹出命令,会弹出“添加添加MDIMDI窗体窗体”对话框,选择对话框,选择“新建新建MDIMDI窗体窗体”或或“现存现存”的的MDIMDI窗体,其名称为默认值窗体,其名称为默认值MidiForm1MidiForm1。(2)(2)设计设计MDIMDI窗体:在窗体:在MDIMDI窗体上,可以创建菜单栏、工具窗体上,可以创建菜单栏、工具栏和状态。栏和状态。多文档界面设计多文档界面设计创建和设计多文档界面创建和设计多文档界面
4、 创建和设计创建和设计MDIMDI子窗体子窗体 创建创建MDIMDI子窗体:子窗体:MDIMDI子窗体是一个子窗体是一个MDIChildMDIChild属性为属性为TrueTrue的的普通窗体。因此,要创建一个普通窗体。因此,要创建一个MDIMDI子窗体,应先创建一个子窗体,应先创建一个新的普通窗体,然后将它的新的普通窗体,然后将它的MDIChildMDIChild属性置为属性置为TrueTrue。如果。如果要创建多个子窗体,只须重复前面操作。在工程管理器窗要创建多个子窗体,只须重复前面操作。在工程管理器窗口中可以看到口中可以看到MDIMDI子窗体的图标与普通窗体的图标的不同。子窗体的图标与普
5、通窗体的图标的不同。设计设计MDIMDI子窗体:子窗体:MDIMDI子窗体运行时包含在子窗体运行时包含在MDIMDI窗体中,但窗体中,但界面设计与界面设计与MDIMDI窗体无关。通常,窗体无关。通常,MDIMDI子窗体主要用于显示子窗体主要用于显示应用程序的文档,因此,在该窗体上应有文本框或者有供应用程序的文档,因此,在该窗体上应有文本框或者有供用户输入和显示的文档(如用户输入和显示的文档(如RichTextBoxRichTextBox),也可有子窗),也可有子窗体菜单。体菜单。多文档界面设计多文档界面设计使用使用MDIMDI窗体与子窗体窗体与子窗体设置活动子窗体和活动控件设置活动子窗体和活动
6、控件 在在NewClientNewClient子过程中的语句子过程中的语句 MDIForm1.ActiveForm.Text1.Text=name+MDIForm1.ActiveForm.Text1.Text=name+vbCrLfvbCrLf 即表示为即表示为MDIForm1MDIForm1父窗体中最后一个获得焦点的子窗体的父窗体中最后一个获得焦点的子窗体的文本框设置文本框设置TextText属性值。属性值。同样,当在一个窗体上显示的控件不止一个时,可以通过同样,当在一个窗体上显示的控件不止一个时,可以通过ActiveControlActiveControl属性得到或指定哪一个控件为得到焦点
7、的控属性得到或指定哪一个控件为得到焦点的控件。当访问件。当访问ActiveFormActiveForm属性时,至少应有一个属性时,至少应有一个MDIMDI子窗口被子窗口被加载或可见,否则会返回一个错误。加载或可见,否则会返回一个错误。多文档界面设计多文档界面设计使用使用MDIMDI窗体与子窗体窗体与子窗体保存子窗体中文档的内容保存子窗体中文档的内容 在决定退出在决定退出MDIMDI应用程序时,必须保存文档内容。因应用程序时,必须保存文档内容。因而必须时刻记录自上次保存以来窗体中的数据是否而必须时刻记录自上次保存以来窗体中的数据是否有改变。此功能可通过在子窗体中声明一个公共变有改变。此功能可通过
8、在子窗体中声明一个公共变量来实现,例如:量来实现,例如:Public Public FLChangeFLChange AS Boolean AS Boolean这样窗体中的这样窗体中的RichTextBox1RichTextBox1控件的控件的TextText属性每一次属性每一次改变时,改变时,ChangeChange事件就会将事件就会将FLChangeFLChange设置为设置为TureTure,表示自上次保存以来表示自上次保存以来RichTextBox1RichTextBox1的内容已经改变,的内容已经改变,即即 Private Sub RichTextBox1_Change()Priva
9、te Sub RichTextBox1_Change()FLChangeFLChange=True=True End Sub End Sub多文档界面设计多文档界面设计相反,用户每次保存子窗体的内容时,就必须将相反,用户每次保存子窗体的内容时,就必须将FLChange 设置设置为为False,以指示,以指示RichTextBox1内容不再须要保存。内容不再须要保存。Sub Msave_Click()FileSaveProc 调用保存调用保存RichTextBox1内容到文件内容到文件 FLChange=False 设置状态变量设置状态变量 End Sub Public Sub FileSave
10、Proc()MDIForm1.ActiveForm.RichTextBox1.SaveFile D:TSGLTT.txt,rtfText 将控件中的文档保存在将控件中的文档保存在D盘的盘的TSGL子目录的子目录的TT.txt文件中文件中 End Sub多文档界面设计多文档界面设计同样,当关闭当前活动子窗体时,应该判断同样,当关闭当前活动子窗体时,应该判断FLChangeFLChange的状的状态,来决定是否存盘态,来决定是否存盘 Private Sub Private Sub MClose_ClickMClose_Click()()if if FLChangeFLChange Then The
11、n FileSaveProcFileSaveProc End Sub End Sub多文档界面设计多文档界面设计使用使用MDIMDI窗体与子窗体窗体与子窗体用用QueryUnloadQueryUnload卸载卸载MDIMDI窗体窗体为为了避免随着父窗体的关闭而使所有的子窗体结束,了避免随着父窗体的关闭而使所有的子窗体结束,造成子窗体内容的丢失,造成子窗体内容的丢失,VBVB提供了提供了QueryUnloadQueryUnload事件。事件。当当MDIMDI窗体被卸载时,窗体被卸载时,QueryUnloadQueryUnload事件首先为事件首先为MDIMDI窗窗体调用,然后再为每一个打开的子窗
12、体调用。由于体调用,然后再为每一个打开的子窗体调用。由于QueryUnloadQueryUnload事件在窗体卸载之前被调用,因此可以事件在窗体卸载之前被调用,因此可以在窗体卸载前给用户一个保存子窗体内容的机会。在窗体卸载前给用户一个保存子窗体内容的机会。多文档界面设计多文档界面设计下面是下面是QueryUnloadQueryUnload事件的实例:事件的实例:Private Sub Private Sub Form_QueryUnloadForm_QueryUnload(Cancel As Integer,(Cancel As Integer,UnloadModeUnloadMode As
13、Integer)As Integer)Dim Dim MsgMsg 声明变量声明变量 If If UnloadModeUnloadMode 0 Then 0 Then 如果正在退出应用程序如果正在退出应用程序 MsgMsg=你真想退出应用程序吗你真想退出应用程序吗?FileSaveProcFileSaveProc 调用保存数据的过程调用保存数据的过程 FileSaveProcElseFileSaveProcElse 如果正在关闭窗体如果正在关闭窗体 MsgMsg=你真想关闭窗体吗你真想关闭窗体吗?End If End If 如果用户单击如果用户单击NoNo按钮,则停止按钮,则停止QueryUn
14、loadQueryUnload。If If MsgBox(MsgMsgBox(Msg,VbQuestionVbQuestion+VbYesNoVbYesNo,Me.CaptionMe.Caption)=VbNoVbNo Then Cancel=True Then Cancel=TrueEnd SubEnd Sub多文档界面设计多文档界面设计MDIMDI应用程序中的菜单应用程序中的菜单 在在MDIMDI应应用用程程序序中中,菜菜单单可可以以建建立立在在父父窗窗体体上上,也也可可以以建建立立在在子子窗窗体体上上,也也可可以以分分别别建建立立。每每个个子子窗窗体体的的菜菜单单在在MDIMDI父父窗窗
15、体体上上显显示示,而而不不是是在在子子窗窗体体显显示示。当当一一个个子子窗窗体体为为活活动动窗窗(即即有有焦焦点点)时时,如如果果该该子子窗窗体体的的有有菜菜单单,则则该该菜菜单单将将取取代代MDIMDI窗窗体体菜菜单单条条上上的的菜菜单单。如如果果没没有有可可见见的的子子窗窗体体,或或者者有有焦焦点点的的子子窗窗体体没没有有菜菜单单,则则显显示示MDIMDI父窗体的菜单。父窗体的菜单。多文档界面设计多文档界面设计MDIMDI应用程序中的菜单应用程序中的菜单 通过把某个菜单的通过把某个菜单的WindowListWindowList属性设置为属性设置为TrueTrue,可以用可以用MDIMDI窗
16、体或子窗体上的任何菜单显示已打窗体或子窗体上的任何菜单显示已打开的子窗体的列表。设置开的子窗体的列表。设置WindowListWindowList属性的步骤属性的步骤如下所述。如下所述。选择要显示菜单的窗体(父窗体或子窗体),执行选择要显示菜单的窗体(父窗体或子窗体),执行“工具工具”菜单中的菜单中的“菜单编辑器菜单编辑器”命令,打开命令,打开“菜单编菜单编辑器辑器”窗口。窗口。在菜单项显示区中,选择要将窗体列表显示在其中的在菜单项显示区中,选择要将窗体列表显示在其中的菜单,如菜单,如“用户用户”菜单。菜单。选择选择“显示窗口列表显示窗口列表”(WindowListWindowList)复选框
17、。)复选框。多文档界面设计多文档界面设计多文档界面应用程序中的子窗体排列多文档界面应用程序中的子窗体排列 如果需要在如果需要在“窗口窗口”菜单中出现菜单中出现“层叠层叠”、“平铺平铺”和和“排列图标排列图标”等命令,用于重新排列等命令,用于重新排列子窗体,可通过调用子窗体,可通过调用MDIMDI窗体的窗体的ArrangeArrange方法来方法来实现。实现。ArrangeArrange方法语法为方法语法为 MDIMDI窗体对象窗体对象.Arrange.Arrange排列方式排列方式多文档界面设计多文档界面设计多文档界面应用程序中的子窗体排列多文档界面应用程序中的子窗体排列 排列方式可以使用排列
18、方式可以使用VBVB常数或常数值,其排列方式参常数或常数值,其排列方式参数设置值见表数设置值见表13-113-1。表13-1Arrange方法的方式设置值常常 数数值值描描 述述常常 数数值值描描 述述VbCascade0 层叠所有非最层叠所有非最小化小化MDI子窗体子窗体VbTileVertical2垂直平铺所有垂直平铺所有非最小化非最小化MDI子窗体子窗体VbTileHorizontal1水平平铺所有非水平平铺所有非最小化最小化MDI子窗子窗体体VbArrangeIcons3重排最小化重排最小化 MDI 子窗体的子窗体的图标图标多文档界面设计多文档界面设计多文档界面应用程序中的子窗体排列多
19、文档界面应用程序中的子窗体排列 ArrangeArrange方法用以重排方法用以重排MDIFormMDIForm对象中的窗口或对象中的窗口或图标,例如:某工程的图标,例如:某工程的“窗口窗口”菜单下即为排菜单下即为排列窗口的命令,其中列窗口的命令,其中“垂直排列垂直排列”单击事件为单击事件为 Private Sub Private Sub Varrange_ClickVarrange_Click()()MDIForm1.Arrange 2 MDIForm1.Arrange 2 End Sub End Sub 其中,其中,“2”2”为排列方式参数。为排列方式参数。工具栏设计工具栏设计制作工具栏的
20、两种方法制作工具栏的两种方法手工制作:利用图形框和命令按钮,这种方法手工制作:利用图形框和命令按钮,这种方法比较烦琐。比较烦琐。通过通过ToolBarToolBar、ImageListImageList控件制作。控件制作。工具栏设计工具栏设计创建工具栏的步骤创建工具栏的步骤 添加添加MSCOMCTL.OCXMSCOMCTL.OCX文件,用鼠标右键单击工具箱,文件,用鼠标右键单击工具箱,选择快捷菜单中的选择快捷菜单中的“部件部件”命令,在图命令,在图13-213-2所示所示的的“控件控件”选项卡中选择选项卡中选择“Microsoft Windows Microsoft Windows Commo
21、n Controls6.0”Common Controls6.0”,然后单击,然后单击“确定确定”按钮,按钮,则在图则在图13-313-3所示的工具箱中就会出现所示的工具箱中就会出现ToolBarToolBar控件控件和和ImageListImageList控件。控件。创建创建ImageListImageList控件作为要使用的图形集合。控件作为要使用的图形集合。创建创建ToolBarToolBar控件,并将控件,并将ToolBarToolBar控件与控件与ImageListImageList控件相关联,创建控件相关联,创建ButtonButton对象。并在对象。并在ImageListImag
22、eList控控件中添加图像。件中添加图像。在在ButtonClickButtonClick事件中添加代码。事件中添加代码。工具栏设计工具栏设计 图13-2 部件对话框 图13-3 工具箱 工具栏设计工具栏设计在在ImageListImageList控件中添加图像控件中添加图像创建创建ImageListImageList控件控件ImageListImageList控件的作用像图像的储藏室,控件的作用像图像的储藏室,ImageListImageList控控件不能独立使用,它需要件不能独立使用,它需要ToolbarToolbar控件(比如控件(比如ListVewListVew、ToolBarTool
23、Bar、TabStripTabStrip、HeaderHeader、IMAGEcOMBOIMAGEcOMBO和和TreeViewTreeView控件)来显示所存储的图像。控件)来显示所存储的图像。ImageListImageList控件的控件的ListImageListImage属性是对象的集合,该集属性是对象的集合,该集合中的每个对象可存放图像文件,合中的每个对象可存放图像文件,ImageListImageList控件不控件不能独立使用,只是作为一个便于向其他控件提供图像能独立使用,只是作为一个便于向其他控件提供图像的资料中心。如工具栏控件(的资料中心。如工具栏控件(ToolBarToolB
24、ar)中的图像就)中的图像就是从是从ImageListImageList控件中获取的。控件中获取的。工具栏设计工具栏设计在在ImageListImageList控件中添加图像控件中添加图像在在ImageListImageList控件中添加图像控件中添加图像在在ToolBarToolBar控件上添加控件上添加ImageListImageList控件(如控件(如ImageList1ImageList1控控件)后,用右键单击件)后,用右键单击ImageList1ImageList1控件,在弹出的快捷菜控件,在弹出的快捷菜单中选择单中选择“属性属性”命令,打开图命令,打开图13-413-4所示所示“属
25、性页属性页”对对话框,选择其中的话框,选择其中的“图像图像”选项卡,在选项卡,在“图像图像”选项卡选项卡中插入图片。一旦中插入图片。一旦ImageListImageList关联到其他控件,就不能再关联到其他控件,就不能再删除或插入图片。删除或插入图片。工具栏设计工具栏设计图13-4 ImageList 控件属性页之“图像”选项卡工具栏设计工具栏设计将将ToolBarToolBar控件与控件与ImageListImageList控件相关联控件相关联 创建一个创建一个ToolBarToolBar控件控件ToolBar1ToolBar1。用鼠标右键单击用鼠标右键单击ToolBarToolBar控件出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual Basic 程序设计1 16 程序设计 16
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内