CWindow::Create Failure
Hi there,
I have a class derived from CWindowImpl and I am handling the WM_CREATE
message via a message handler and map.
-----------
BEGIN_MSG_MAP(CMyWindow)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/);
LRESULT CFlashView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM
lParam, BOOL& /*bHandled*/)
{
#if FLASH
cWndChildWindow = CWindow::Create(WC_MYWINDOWCLASS, m_hWnd,
NULL, NULL, WS_CHILD);
cWndChildWindow.ShowWindow(SW_SHOW);
#endif
return(0);
}
-----------
In the OnCreate method I would like to create an instance of a child
window that needs to be displayed in this window. But for some reason I am
greeted with an Assertion Failure with the expression
m_hWnd == 0
...
ATLASSUME(m_hWnd == NULL)
Now is this telling me that m_hWnd needs to be 0? or can't be 0?
m_hWnd is the handle to CMyWindow and at this point it should have been
created right? This is really confusing me, if I pass 0 to the method it
continues but then fails on the next line as CWndChildWindow was never
created. cWndChildWindow is a CWindow object.
Any help would be greatly appreciated! Thanks for your time in advance.
Nick.