- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如果MDI子窗体具有大小可变的边框(即BorderStyle=2),在其显示时,Windows将决定其初始的高度、宽度和位置。边框大小可变的子窗体,其初始大小与位置取决于MDI窗体的大小,而不是设计时子窗体的大小;当MDI子窗体的边框大小不可变 (即BorderStyle=0,1或3)时,则它的大小由设计时的Height和Width属性决定。 与卸载普通窗体一样,卸载MDI窗体及其子窗体也是使用Unload语句。例如,如果要卸载frmMDIChild1,则应该使用Unload frmMDIChild1语句。 8.2.3 维护子窗体的状态信息 在用户决定退出MDI应用程序时,必须有保存信息的机会。为此,应用程序必须随时都能确定自上次保存以来子窗体中的数据是否有所改变。 通过在每个子窗体中声明一个公用变量来实现保存信息的功能。例如,可以在子窗体的声明部分声明一个变量: Public boolDirty As Boolean 假定子窗体1中有一个文本框Text1,Text1中的文本每一次改变时,文本框的Change事件就会将boolDirty设置为True。可添加一行代码以指示自上次保存以来Text1的内容已经改变。 Sub Text1_Change( ) boolDirty =True End Sub 反之,用户每次保存子窗体的内容时,都将boolDirty设置为False,以指示Text1的内容不再需要保存。在下列代码中,假设有一个叫做“保存”(mnuFileSave)的菜单命令和一个用来保存文本框内容的名为FileSave的过程: Sub mnuFileSave_Click( ) 保存Text1的内容 FileSave 设置状态变量 BoolDirty =False End Sub 8.2.4 用QueryUnload卸载MDI窗体 当用户决定退出应用程序时,boolDirty标志就很有用了。当用户从MDI窗体的控制菜单框中选择“关闭”命令,或者选择提供的菜单项,例如“文件”菜单上的“退出”命令时,上述情况就会出现。如果用户使用MDI窗体的“控制”菜单来关闭应用程序,Visual Basic将试图卸载MDI窗体。 当MDI窗体被卸载时,MDI窗体首先触发QueryUnload事件,然后每一个打开的子窗体也都触发该事件。如果在这些QueryUnload事件过程中没有代码,则取消QueryUuload事件,然后,每一个子窗体被卸载,最后,MDI窗体被卸载。 由于QueryUnload事件在窗体卸载之前被触发,因此在窗体卸载前给用户一个机会来保存窗体。下述代码使用boolDirty标志来决定是否要提醒用户在子窗体卸载之前进行保存。请注意,可以在工程的任何地方访问公共窗体级变量值。下面的代码假定有一个名叫FileSave的过程,它将Text1的内容保存到一个文件中。代码如下: Sub mnuExit_Click( ) 当用户在MDI应用程序中选取文件/退出命令时,卸载 MDI窗体,为每个打开的子窗体触发QueryUnload事件 Unload frmMDI End End Sub Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If boolDirty Then 调用例程来询问用户且必要时保存文件 FileSave End If End Sub 8.2.5 多文档界面应用程序中的“窗口”菜单 大多数MDI应用程序都有“窗口”菜单。在“窗口”菜单上显示了所有打开的子窗体标题,另外还有层叠、平铺和排列图标命令。 在Visual Basic中,如果要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True,即选中显示窗口列表检查框。 对于窗体或子窗体图标的层叠、平铺和排列图标命令通常也放在“窗口”菜单上,是用Arrange方法来实现的,下面是这三个菜单命令的事件过程。 假定MDI窗体名称为frmMDI,层叠、平铺和排列图标菜单项的名称分别为mnuWindow-Cascade、mnuWindowTile和mnuWindowArrange。 vbCascade、vbTileHorizon
您可能关注的文档
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第1 5章 第5章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第11 15章 第11章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第11 15章 第12章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第11 15章 第13章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第11 15章 第14章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 第11 15章 第15章.ppt
- 新Visual FoxPro 6.0程序设计教程 第二版 教学课件 丁爱萍 封面及目录.ppt
- 新Visual FoxPro 6.0程序设计教程(丁爱萍) 第1章.ppt
- 新Visual FoxPro 6.0程序设计教程(丁爱萍) 第2章.ppt
- 新Visual FoxPro 6.0程序设计教程(丁爱萍) 第3章.ppt
- 新VisualBasic实用教程 薛亮 第9章.ppt
- 新VisualBasic实用教程 薛亮 第10章.ppt
- 新VisualBasic实用教程 薛亮 第11章.ppt
- 新VisualBasic实用教程 薛亮 第12章.ppt
- 新VisualBasic实用教程 薛亮 第13章.ppt
- 新VisualBasic实用教程 薛亮 第14章.ppt
- 新VisualBasic实用教程 薛亮 封面及目录.ppt
- 新VisualFoxpro6.0数据库原理与应用 胡晓燕 第1章 概 述.ppt
- 新VisualFoxpro6.0数据库原理与应用 胡晓燕 第2章 数据库的基本操作.ppt
- 新VisualFoxpro6.0数据库原理与应用 胡晓燕 第3章 数据的检索、统计与多工作区操作.ppt
文档评论(0)