- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.多文档界面设计
工具栏和状态栏 * 计算机应用基础 Visual Basic 程序设计 多文档界面设计 开发多文档界面的一个应用程序至少需要两个窗体:一个(只能一个)MDI窗体(也叫父窗体)和一个(或若干个)子窗体。MDI窗体是作为子窗体的容器。子窗体或称文档窗体显示各自文档,所有子窗体具有相同的功能。在不同窗体中共用的过程,变量应存放在标准模块中。 多文档界面特点 1.所有子窗体均显示在MDI窗体的工作区中。用户可改变、移动子窗体的大小,但被限制在MDI窗体中。 2.当最小化子窗体时,它的图标将显示于MDI窗体上而不是在任务栏中。当最小化MDI窗体时,所有的子窗体也被最小化,只有MDI窗体的图标出现在任务栏中。 3.当最大化一个子窗体时,它的标题与MDI窗体的标题一起显示在MDI窗体的标题栏上。 4.MDI窗体和子窗体都可以有各自的菜单,当子窗体加载时覆盖MDI窗体的菜单。 创建: “工程/添加MDI窗体”命令 设计:一般有菜单栏、工具栏、状态栏,不可有文本框等控件 1. 创建和设计MDI窗体 MDI子窗体主要是显示应用程序的文档,因此,在该窗体上应有文本框,也可以有菜单栏。 创建: 将一个普通窗体的MDIChild属性设置为True,即可创建MDI子窗体。若要创建多个子窗体, 方法一:重复进行以上操作。 方法二:可通过窗体类来实现,即可先创建一个子窗体作为这个应用程序文档的模板,然后通过对象变量来实现。 Public Sub FileNewProc() Dim NewDoc As New frmMDIChild Static No As Integer No = No + 1 NewDoc.Caption = no No NewDoc.Show End Sub 2. 创建和设计MDI子窗体 事先创建的名为frmMDIChild的子窗体 (1)活动子窗体和活动控件 MDI窗体的两个属性:ActiveForm 和ActiveControl。 例:某子窗体文本框中所选的文本,其表示为: frmMDI.ActiveForm.ActiveControl.SelText (2)显示MDI窗体及其子窗体 显示任何窗体的方法为show,还有有关规则: ?加载子窗体时,其父窗体会自动加载并显示; ?加载MDI窗体时,其子窗体不会自动加载并显示;它有 AutoShowChildren属性,决定是否自动显示子窗体。 (3)用QueryUnload卸载MDI窗体 3. MDI窗体与子窗体的交互 MDI窗 体事例 (1)显示打开的多个文档窗口 要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True。 (2)排列窗口 利用Arrange方法进行层叠、平铺和排列图标。 形式: MDI窗体对象.Arrange 排列方式 4. 多文档界面应用程序中的“窗口”菜单 使用过Windows应用程序的读者想必有过这样的体验:当要退出Word时,如果在Word中的文档已修改过而未存盘,则将会显示一个对话框,询问用户是否要将修改过的文档存盘。在MDI应用程序中也有类似的情况,即不能随着父窗体的关闭而使所有的子窗体结束,因为这有可能造成子窗体内容的丢失。为此,VisualBasic提供了QueryUnload事件。其格式为: Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer) …… End Sub Sub MDIForm_QueryUnload(Cancel As Integer,UnloadMode As Integer) …… End Sub 5.MDI事件——QueryUnload事件 QueryUnload事件在关闭窗体或结束应用程序之前发生。当关闭一个MDI窗体时,QueryUnload事件首先在MDI窗体发生,然后在所有子窗体内发生。当一个子窗体或非MDI窗体关闭时,该窗体的QueryUnload事件在其Unload事件之前发生。 QueryUnload事件有两个参数,其含义如下: (1)Cancel:如果把这个参数设置为除0以外的值(非0值),则停止所有装入的窗体的QueryUnload事件,且不关闭窗体和应用程序。 (2)UnloadMode:
文档评论(0)