在 MFC(Microsoft Foundation Classes)中,CMDIChildWnd 类是用于创建多文档界面(MDI)子窗口的类。CMDIChildWnd 的构造函数通常是由 MFC 框架内部调用的,并且我们在应用程序代码中一般不直接实例化它。

以下是 CMDIChildWnd 类的默认构造函数的声明:
CMDIChildWnd();

这个构造函数用于创建一个 CMDIChildWnd 类的实例。在创建 MDI 子窗口时,通常会在主框架窗口的 OnCreateClient 函数中调用 CMDIFrameWnd::CreateNewChild 方法,该方法内部会使用 new 运算符创建 CMDIChildWnd 对象。

以下是一个简单的示例,演示了如何在 MDI 应用程序中创建 CMDIChildWnd 对象:
#include <afxwin.h>

class CMyMDIChild : public CMDIChildWnd
{
public:
    CMyMDIChild() {}
};

class CMyMDIFrame : public CMDIFrameWnd
{
public:
    CMyMDIFrame()
    {
        Create(NULL, L"My MDI Frame", WS_OVERLAPPEDWINDOW, rectDefault, NULL, L"MenuID");

        // 创建 MDI 子窗口
        CMDIChildWnd* pChildWnd = new CMyMDIChild;
        pChildWnd->Create(NULL, L"My MDI Child", WS_OVERLAPPEDWINDOW, rectDefault, this);
    }
};

class CMyApp : public CWinApp
{
public:
    virtual BOOL InitInstance()
    {
        // 初始化 MFC 应用程序
        CMyMDIFrame* pFrame = new CMyMDIFrame;
        m_pMainWnd = pFrame;
        pFrame->LoadFrame(IDR_MAINFRAME);
        pFrame->ShowWindow(SW_SHOW);
        pFrame->UpdateWindow();

        return TRUE;
    }
};

CMyApp theApp;

在这个示例中,我们创建了一个自定义的 CMyMDIChild 类,继承自 CMDIChildWnd。然后,在 CMyMDIFrame 构造函数中,我们创建了一个 CMyMDIChild 对象并设置了一些基本的属性。这个示例主要用于说明在 MDI 应用程序中创建 CMDIChildWnd 对象的一般过程,而不是直接使用构造函数。


转载请注明出处:http://www.pingtaimeng.com/article/detail/18835/MFC/CMDIChildWnd