首页  »   VC/MFC

OnCreate 事件没有触发可能是什么原因

网友分享于:2013-12-16  浏览:38次
OnCreate 事件没触发可能是什么原因?
请问以下做法是什么问题呢?求教。

1、创建一个MFC类 class CTestWnd: public CWnd

2、在 MainFrm.h 里面添加 
 CTestWnd m_testWnd;


3、然后在 MainFrm 的 OnCreate() 事件里面创建对象:

m_testWnd.Create(_T("STATIC"), NULL, WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS, CRect(0, 0, 0, 0), this, 0, NULL);


4、CTestWnd 里面添加 OnCreate:

// CTestWnd.h
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);


// CTestWnd.cpp
int CTestWnd ::OnCreate(LPCREATESTRUCT lpCreateStruct) {
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;

return 0;
}


------最佳解决方案--------------------
你在CTestWnd.cpp中增加ON_WM_CREATE()了么?
------其他解决方案--------------------
OnCreate有几个重载吧,确定哪一个直接被上层调用
------其他解决方案--------------------
还要有Create的消息映射
------其他解决方案--------------------
 我也发现了。谢谢大家!

相关解决方案

最新解决方案