CMDIChildWnd选件类
提供Windows多线程的功能与管理窗口的成员。(MDI)文档界面(mdi)子窗口。
class CMDIChildWnd : public CFrameWnd
成员
公共构造函数
名称 |
说明 |
---|---|
构造 CMDIChildWnd 对象。 |
公共方法
名称 |
说明 |
---|---|
创建Windows MDI子窗口与 CMDIChildWnd 对象。 |
|
返回MDI客户端窗口的父MDI框架。 |
|
激活此MDI子窗口。 |
|
销毁此MDI子窗口。 |
|
最大化此MDI子窗口。 |
|
还原从最大化或最小化范围的此MDI子窗口。 |
|
设置菜单和快捷键资源的句柄。 |
备注
MDI子窗口非常类似于典型的框架窗口,除此之外,MDI子窗口显示在MDI框架窗口中而不是在桌面。 MDI子窗口没有自己的菜单栏,表,而是共享MDI框架窗口的菜单。 框架会自动更改MDI框架菜单表示当前活动的MDI子窗口。
若要创建应用程序的一个有用的MDI子窗口,请 CMDIChildWnd派生选件类。 添加成员变量添加到派生类来存储数据特定于您的应用程序。 实现消息处理程序成员函数和消息映射在派生类指定发生的情况,在处理消息到windows时。
有三种构造MDI子窗口:
使用 Create,请直接构造它。
使用 LoadFrame,请直接构造它。
将文档模板间接构造它。
在调用 Create 或 LoadFrame之前,使用C++ new 运算符,则必须生成堆中的框架窗口对象。 在调用 Create 之前可以注册窗口选件类。也将框架的图标和选件类样式的 AfxRegisterWndClass 全局函数。
使用 Create 成员函数通过帧的创建参数作为即时参数。
LoadFrame 比 Create需要的参数和从资源中检索大多数其默认值,包括帧的说明、图标、快捷键对应表和菜单。 若要访问由 LoadFrame,所有这些资源必须具有相同的资源ID (例如,IDR_MAINFRAME)。
当 CMDIChildWnd 对象包含视图和文档时,它们是间接由框架创建的而不是直接程序员。 CDocTemplate 对象协调下帧,包含"视图中创建的创建,因此,视图的连接与相应文档。 CDocTemplate 构造函数的参数指定涉及的三选件类的 CRuntimeClass (文档,则框架和视图)。 框架用于 CRuntimeClass 对象动态创建新框架,指定由用户(例如,通过使用文件的命令或MDI窗口新的命令)。
必须声明从派生 CMDIChildWnd 框架窗口选件类与 DECLARE_DYNCREATE 为上面 RUNTIME_CLASS 结构才能正常工作。
CMDIChildWnd 选件类继承 CFrameWnd的默认实现。 对于这些函数详细列表,请参见 CFrameWnd 选件类声明。 CMDIChildWnd 选件类具有以下附加功能:
与 CMultiDocTemplate 选件类结合起来,从相同的多个 CMDIChildWnd 对象文档模板共享同一个菜单,保存Windows系统资源。
当前活动的MDI子窗口菜单将完全替换MDI框架窗口菜单,并且,当前活动的MDI子窗口的标题添加到MDI框架窗口的标题。 有关MDI子与MDI框架窗口一起实现的windows函数的进一步示例,请参见 CMDIFrameWnd 选件类声明。
不要使用C++ delete 运算符销毁框架窗口。 请改用 CWnd::DestroyWindow。 当销毁,PostNcDestroy 的 CFrameWnd 实现会删除C++对象窗口。 当用户关闭框架窗口,默认 OnClose 处理程序将调用 DestroyWindow。
有关 CMDIChildWnd的更多信息,请参见 Windows框架。
继承层次结构
CMDIChildWnd
要求
**标头:**afxwin.h