赵宇乐在五行中的意思:VB里的 MDI窗体和普通窗体有什么区别?

来源:百度文库 编辑:高校问答 时间:2024/04/26 05:27:20
MDI窗体和普通窗体有什么区别呢,MDI窗体在实际使用中有什么好处呢?能否简单写个例子说一下,

还有,我在工程里加了个mdi窗体后,用窗体名.show加载,为什么系统提示没有可用的mdi窗体可加载,我的工程里明明有mdi窗体呀,而且已经保存了。。。。
能否具体说一下用法?

比如新建个工程,再建两个mdi窗体,如何把他们联系成父子关系?

MDI是Multiple Document Interface的缩写,就是文档窗体的意思。它是和单文档SDI相对的。
MDI和SDI在界面上的主要区别如下:
MDI允许用户同时打开多个文档,而SDI只能打开一个文档。
MDI应用程序甚至可以支持多种文档类型。例如word不仅支持.doc文件,还可以打开web页面文件.html等。
MDI应用程序通常包含一个windows菜单,可以用它来切换显示同一个文档的不同视图,还可以切换显示不同文档的视图。
SDI应用程序仅有一个框架窗口,而MDI应用程序有两个:一个是顶层框架窗口,另一个是文档窗口。前者和SDI的框架窗口类似,后者则用来包含打开文档的视图。
SDI应用程序通常只有一个菜单,而MDI应用程序通常含有两个,一个在没有文档打开时显示,另一个在有文档打开时显示。
SDI和MDI在结构上的区别在于:
MDI应用程序的框架窗口从CMDIFrameWnd类中派生,而SDI应用程序的框架窗口从CFrameWnd类中派生。
MDI应用程序中包含文档视图的子窗口由CMDIChildWnd派生,而SDI应用程序不存在子框架窗口。
MDI应用程序和SDI应用程序的文档模板类不同。MDI应用程序中使用CMultiDocTemplate类对象,而SDI应用程序使用CSingleDocTemplate类对象。
MDI应用程序至少含有两个菜单资源,而SDI只有一个。

几点注意
1.区分MDI(多重窗体)与多窗体结构
2.一个工程只能有一个MDI

建立一个MDI后,将普通的窗体的
MDICHILD属性设为真,则该窗体就变成MDI的子窗体。

MDI很有用阿,比如你的VB、ACCESS集成开发环境,都是MDI。不用多举例了。

一个工程中只能有一个MDI窗体,它可以包括多个子窗体。因此,在MDI中调用的窗体都是它的子窗体,如果子窗体的MDICHILD属性为真,则子窗体不能超出MDI的范围。MDI还能对其包含的子窗体进行排序操作。

MDI窗体包含了一个父窗口和n个子窗体,也就是一个包含n个窗体,普通窗体则是各个独立的窗体,并且子窗体无法加载父窗体的,但是父窗体可以加载子窗体,你要仔细看清楚属性设置,呵呵