具体而言,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.zyzy.cn/article/detail/23601/MFC/CWnd