灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4177回复:0

[系统教程]VB 神童教程第四章第五节——多文档程序

楼主#
更多 发布于:2011-10-26 09:10
在 Windows 中,文档分为单文档(SDI)和多文档(MDI)两种,如我们熟悉的“记事本”就是一个典型的单文档程序,它最明显的特点是一次只能打开一个文件,当新建一个文件时,当前文件自动被替换掉。
多文档界面,如 Word ,允许用户同时打开多个文件进行操作。在多文档界面中,有一个窗体叫做主窗体(又称为 MDI 窗体),其他窗体称为子窗体。子窗体始终处在主窗体内部,主窗体的位置移动会导致子窗体的位置发生相应变化。如图一:

图片:50_3710_dc3f869007fc31c.gif


图一
一、多文档程序的建立:
多文档程序至少有两个窗体,一个主窗体和一个子窗体或多个子窗体,主窗体是其他窗体的容器。

1、创建一个新工程,然后选择工程/工程属性菜单命令,加入如图二的主窗体:

图片:50_3710_a514d90aaec7d8b.gif


图二
2、在“项目”窗口中双击 Form1 切换到 Form1 ,然后将其 MDIChild 属性设为 True ,如图三:

图片:50_3710_9ea1c788a01c791.gif


图三
3、按 F5 键运行程序,结果如图四:

图片:50_3710_4731327d720e723.gif


图四
4、控制程序的打开状态:
如果要让程序打开时自动载入 Form1 窗口,那么在如图五的工程属性窗口中选择“启动对象”为 Form1 ;如果不想显示子窗体,那么只需在“启动对象”中选择 MDIForm1 就行了。

图片:50_3710_6ed6b657624358e.gif


图五
5、子窗体的显示:
假设工程的启动对象为 MDIForm1 ,那么如何显示子窗体 Form1 呢?

可以在主窗体中加入菜单,或者直接用 Load 的方法,如下:
Private Sub MDIForm_Load()
Form1.Show 0
End Sub

这段代码将 Form1 显示出来,并呈非模态模式。
二、主窗体与子窗体的标题:
当主窗体与子窗体都呈显现状态时,把子窗体最大化,你会发现窗体的标题变成了主窗体标题加上子窗体标题,如图六:

图片:50_3710_ec0d3d80c9fca4e.gif


图六
三、主窗体与子窗体的菜单:
在 VB 中,如果子窗体载入,那么主窗体的菜单将被子窗体的菜单替换;只有当主窗体中没有子窗体时才能显示主窗体的菜单,如图七、图八、图九、图十:

图片:50_3710_7adec4e740510ab.gif


图七

图片:50_3710_69d9b416777b5bc.gif


图八

图片:50_3710_0e4d78171e9b108.gif


图九




喜欢0 评分0
游客

返回顶部