词条 | CMDIFrameWnd |
释义 | CMDIFrameWnd类提供了Windows多文档界面(MDI)子窗口的功能和管理窗口的功能。 为了为应用创建有用的MDI子窗口,需要从CMDIFrameWnd派生类。 为派生类增添成员变量,从而为应用存储指定的数据。实现消息处理的成员函数,并在派生类中实现消息映射,以便于指出当消息传递给窗口后,将发生什么事情。 可以通过MDI调用Create函数或CMDIFrameWnd的LoadFrame函数来构造MDI子窗口。 在调用Create或LoadFrame之前,必须使用C++的new操作符在堆中构造框架窗口对象。在调用Create函数之前,必须使用AfxRegisterWndClass全局函数来登记窗口类,从而为框架设置图标或类的风格。 使用Create成员函数,用于传递作为即时参数的框架创建参数。 LoadFrame需要的参数比Create少,不过,它需要资源更多的缺省值,包括框架的标题、图标、加速表和菜单。为了LoadFrame函数的使用,所有的资源必须有相同的资源ID 号(例如, IDR_MAINFRAME)。 尽管MDIFrameWnd由CFrameWnd类派生,但由CMDIFrameWnd派生的框架窗口不必由DECLARE_DYNCREATE来声明。 CMDIFrameWnd类从CFrameWnd类中继承了大部分缺省用法。如果需要这些功能的详细情况,请参考CFrameWnd类的描述。CMDIFrameWnd拥有下列额外的功能: · MDI框架窗口用于管理MDICLIENT窗口,并在其与控件栏的结合中复位。MDI客户窗口是MDI子框架窗口的直亲。WS_HSCROLL与WS_VSCROLL窗口风格指定了CMDIFrameWnd将应用于MDI客户窗口,而不是主框架窗口,这样用户就可以滚动MDI 客户区(例如,Windows的程序管理器)。 · 当没有活动的MDI子窗口时,MDI框架窗口拥有作为菜单条使用的缺省菜单。当有活动的MDI子窗口时,MDI框架窗口的菜单条由MDI子窗口的菜单所替换。 · 如果有MDI子窗口,那么MDI框架窗口则操作当前的MDI子窗口。例如,命令消息将于MDI框架窗口之前发送到MDI子窗口。 · MDI框架窗口拥有下列标准Windows菜单命令的缺省句柄: · MDI框架窗口也有ID_WINDOWS_NEW功能,以用于在当前文档中创建新的框架或视图。应用可以覆盖这些缺省的命令操作,以用于定制 MDI窗口操作。最好不要使用C++ delete操作符来删除框架窗口,相反,请使用CWnd::DestroyWindow函数。当销毁窗口时,PostNcDestroy的CFrameWnd命令将删除C++对象。当用户关闭框架窗口时,缺省的OnClose操作将调用DestroyWindow函数。 #include <afxwin.h> 请参阅:CWnd, CMDIChildWnd CMDIFrameWnd类的成员 构造函数 CMDIFrameWnd 构造一个CMDIFrameWnd 操作 MDIActivate 激活一个不同的MDI子窗口 MDIGetActive 获取当前活动的MDI子窗口,并得到指示它是否最大化的标志 MDIIconArrange 重排所有最小化文档子窗口 MDIMaximize 最大化一个MDI子窗口 MDINext 激活紧跟在当前活动子窗口之后的子窗口,并把当前活动子窗口放到所有子窗口的最后 MDIRestore 将一个MDI子窗口从最大化或最小化状态恢复回来 MDISetMenu 重置一个MDI框架窗口的菜单,Window弹出菜单,或两者都重置 MDITile 将所有的子窗口以平铺方式排列 MDICascade 将所有的子窗口以级联方式排列 可覆盖的函数 CreateClient 为CMDIFrameWnd类创建Windows MDICLIENT窗口。通过CWnd类的OnCreate成员函数来调用 GetWindowMenuPopup 返回窗口的弹出菜单 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。