CWnd::OnCreate 是 MFC(Microsoft Foundation Classes)中 CWnd 类的一个受保护方法。这个方法通常用于处理窗口的创建事件。当窗口被创建时,系统会调用这个方法,允许你在窗口创建时执行一些初始化或其他必要的操作。

具体而言,CWnd::OnCreate 方法的原型如下:
int OnCreate(LPCREATESTRUCT lpCreateStruct);

这个方法接收一个 CREATESTRUCT 结构的指针作为参数,该结构包含了关于窗口创建的信息,如窗口样式、大小等。

在派生自 CWnd 的类中,你可以覆盖这个方法,以便在窗口创建时执行自定义的初始化代码。例如,你可以在这个方法中创建并设置控件,分配资源,或执行其他与窗口创建相关的任务。

以下是一个简单的示例:
class CMyWnd : public CWnd
{
public:
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    DECLARE_MESSAGE_MAP()
};

BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
    ON_WM_CREATE()
END_MESSAGE_MAP()

int CMyWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    // 在此添加您的初始化代码

    return 0;
}

在上述代码中,CMyWnd 类继承自 CWnd,并覆盖了 OnCreate 方法。通过使用 ON_WM_CREATE() 宏,将消息映射到相应的处理函数。在 OnCreate 中,你可以添加你的自定义初始化代码。

请注意,OnCreate 方法是受保护的,因此只能在派生类中进行访问和覆盖。


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