CMDIFrameWnd选件类

提供Windows多线程的功能与管理窗口的成员一起文档界面(MDI)框架窗口。

class CMDIFrameWnd : public CFrameWnd

成员

30a87cxk.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CMDIFrameWnd::CMDIFrameWnd

构造 CMDIFrameWnd

30a87cxk.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CMDIFrameWnd::CreateClient

创建此 CMDIFrameWnd的Windows MDICLIENT 窗口。 调用 CWndOnCreate 成员函数。

CMDIFrameWnd::CreateNewChild

创建新的子窗口。

CMDIFrameWnd::GetWindowMenuPopup

返回窗口弹出菜单。

CMDIFrameWnd::MDIActivate

激活不同的MDI子窗口。

CMDIFrameWnd::MDICascade

让所有子窗口会级联样式表的格式。

CMDIFrameWnd::MDIGetActive

具有指定子元素是否的标志一起检索当前活动的MDI子窗口,最大化。

CMDIFrameWnd::MDIIconArrange

具有最小化的所有文档子窗口。

CMDIFrameWnd::MDIMaximize

关闭MDI子窗口。

CMDIFrameWnd::MDINext

活动子窗口立即在当前活动子窗口之后并在其他子窗口后将当前活动的子窗口。

CMDIFrameWnd::MDIPrev

激活前面的子窗口并立即在之后将当前活动的子窗口。

CMDIFrameWnd::MDIRestore

还原从最大化或最小化范围的MDI子窗口。

CMDIFrameWnd::MDISetMenu

替换MDI框架窗口中的菜单上,窗口弹出菜单或两个。

CMDIFrameWnd::MDITile

让所有子窗口以平铺的格式。

备注

若要创建应用程序的一个有用的MDI框架窗口中,从 CMDIFrameWnd派生选件类。 添加成员变量添加到派生类来存储数据特定于您的应用程序。 实现消息处理程序成员函数和消息映射在派生类指定发生的情况,在处理消息到windows时。

通过调用 CFrameWnd创建LoadFrame 成员函数构造MDI框架窗口。

在调用 CreateLoadFrame之前,使用C++ new 运算符,则必须生成堆中的框架窗口对象。 在调用 Create 之前可以注册窗口选件类。也将框架的图标和选件类样式的 AfxRegisterWndClass 全局函数。

使用 Create 成员函数通过帧的创建参数作为即时参数。

LoadFrameCreate需要的参数和从资源中检索大多数其默认值,包括帧的说明、图标、快捷键对应表和菜单。 将由 LoadFrame访问,所有这些资源必须具有相同的资源ID (例如,IDR_MAINFRAME)。

虽然 MDIFrameWndCFrameWnd派生,框架窗口选件类从派生 CMDIFrameWnd 了不需要声明与 DECLARE_DYNCREATE

CMDIFrameWnd 选件类继承 CFrameWnd的默认实现。 对于这些函数详细列表,请参见 CFrameWnd 选件类声明。 CMDIFrameWnd 选件类具有以下附加功能:

  • MDI框架窗口管理 MDICLIENT 窗口,重新定位其与控件条结合使用。 MDI客户端窗口是MDI子框架窗口直接父级。 在 CMDIFrameWnd 指定的 WS_HSCROLLWS_VSCROLL 窗口样式应用于MDI客户端窗口而不是主框架窗口,以便用户可以移动MDI工作区(例如在Windows管理器,)。

  • MDI框架窗口拥有用作菜单栏的默认菜单,而没有活动的MDI子窗口时。 当具有活动的MDI子窗体时,MDI框架窗口菜单栏中MDI子窗口菜单自动替换。

  • 如果有一个,MDI框架窗口与当前MDI子窗口一同。 例如,命令消息将委托对MDI框架窗口之前的当前活动的MDI子窗体。

  • MDI框架窗口具有以下标准windows菜单命令的默认处理程序:

    • ID_WINDOW_TILE_VERT

    • ID_WINDOW_TILE_HORZ

    • ID_WINDOW_CASCADE

    • ID_WINDOW_ARRANGE

  • MDI框架窗口还有 ID_WINDOW_NEW的实现,创建新的帧,并且在当前文档的视图。 应用程序可以重写这些默认命令实现自定义MDI窗口操作。

不要使用C++ delete 运算符销毁框架窗口。 请改用 CWnd::DestroyWindow。 当销毁,PostNcDestroyCFrameWnd 实现会删除C++对象窗口。 当用户关闭框架窗口,默认 OnClose 处理程序将调用 DestroyWindow

有关 CMDIFrameWnd的更多信息,请参见 Windows框架

继承层次结构

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

要求

**标头:**afxwin.h

请参见

参考

CFrameWnd选件类

层次结构图

CWnd 类

CMDIChildWnd选件类

概念

MFC MDI示例

MFC MDIDOCVW示例

MFC SNAPVW示例