请输入您要查询的百科知识:

 

词条 CMDIChildWnd
释义

CMDIChildWnd类提供了Windows多文档界面(MDI)子窗口及用于管理窗口的成员。

MDI子窗口与典型的框架窗口非常相似,唯一的区别在于MDI子窗口是出现在MDI框架窗口中,而不是在桌面上。MDI子窗口没有自己的菜单条,不过它可以共享MDI框架窗口。框架自动更改MDI框架的菜单,用于代表当前活动的MDI子窗口。

为了为应用创建有用的MDI子窗口,需要从CMDIChildWnd派生类。

为派生类增添成员变量,从而为应用存储指定的数据。实现消息处理的成员函数,并在派生类中实现消息映射,以便于指出当消息传递给窗口后,将发生什么事情。

构造MDI子窗口有三种途径:

· 使用Create函数直接构造。

· 使用LoadFrame函数直接构造。

· 通过文档模板直接构造。在调用Create 或 LoadFrame之前,必须使用C++new操作符在堆中构造框架窗口对象。在调用Create函数之前,必须使用AfxRegisterWndClass全局函数来登记窗口类,从而为框架设置图标或类的风格。

使用Create成员函数,用于传递作为即时参数的框架创建参数。

LoadFrame需要的参数比Create少,不过,它需要资源更多的缺省值,包括框架的标题、图标、加速表和菜单。为了LoadFrame函数的使用,所有的资源必须有相同的资源ID号(例如, IDR_MAINFRAME)。

当CMDIChildWnd对象包含视图或文档时,它们都是被框架直接创建的,而不是被编程者创建的。CDocTemplate 对象含有框架的创建,视图的创建以及视图与适当文档的联系。CDocTemplate结构的参数指定了涉及到的三个类(文档,框架,视图)的CRuntimeClass对象。

CRuntimeClass对象被框架所使用,用于用户指定后动态地创建新框架(例如使用File New命令或MDI窗口New命令)。

派生于CMDIChildWnd的框架窗口必须由DECLARE_DYNCREATE来声明,以便于RUNTIME_CLASS机制正常工作。

CMDIChildWnd类从CFrameWnd类中继承了大部分缺省用法。如果需要了解这些功能的详细情况,请参考CFrameWnd类的描述。

CMDIChildWnd拥有下列额外的功能:

· 与CMultiDocTemplate类相关联,来自于同一文档模板的多个CMDIChildWnd 对象共享同一个菜单,并存储Windows的系统资源。

· 当前活动的MDI子窗口菜单完全替换了MDI框架窗口的菜单。如果要了解与MDI框架窗口有关的MDI子窗口函数的更多例子,请参阅CMDIFrameWnd类的说明。最好不要使用C++删除操作来删除框架窗口,而应使用CWnd::DestroyWindow函数。当用户关闭框架窗口时,缺省的OnClose操作将调用DestroyWindow函数。

#include <afxwin.h>

CMDIChildWnd类的成员

构造函数

CMDIChildWnd 构造一个CMDIChildWnd对象

初始化

Create 创建与CMDIChildWnd对象相关联的Windows MDI子窗口

操作

MDIDestroy 删除MDI子窗口

MDIActivate 激活MDI子窗口

MDIMaximize 使MDI子窗口最大化

MDIRestore 将MDI子窗口从最大化状态或最小化状态恢复为原始尺寸

GetMDIFrame 返回父亲MDI客户窗口的MDI框架

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/15 0:58:09