C++ 如何创建从CWnd弹出窗口派生的文件?
我通过类向导从CWnd创建了类CSurfaceWnd。我试图创建窗口,但出现错误。 这是我创建的代码:C++ 如何创建从CWnd弹出窗口派生的文件?,c++,mfc,cwnd,C++,Mfc,Cwnd,我通过类向导从CWnd创建了类CSurfaceWnd。我试图创建窗口,但出现错误。 这是我创建的代码: if(!m_pSurfaceWnd) { CString m_NameClass = AfxRegisterWndClass( CS_VREDRAW | CS_HREDRAW, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH) ::GetStockObject(
if(!m_pSurfaceWnd)
{
CString m_NameClass = AfxRegisterWndClass(
CS_VREDRAW | CS_HREDRAW,
::LoadCursor(NULL, IDC_ARROW),
(HBRUSH) ::GetStockObject(WHITE_BRUSH),
::LoadIcon(NULL, IDI_APPLICATION));
m_pSurfaceWnd = new CSurfaceWnd;
CRect rcTemp;
GetWindowRect(rcTemp);
VERIFY(m_pSurfaceWnd->CreateEx(WS_EX_CLIENTEDGE, m_NameClass, NULL, WS_POPUP | WS_VISIBLE, rcTemp, mpWnd, 1));
//DWORD dw =GetLastError();
m_pSurfaceWnd->ShowWindow(SW_SHOW);
}
else
m_pSurfaceWnd->ShowWindow(SW_SHOW);
你怎么能看到我正在创建弹出窗口,这就是为什么我使用CreateEx。我已经注册了这个类,在调试模式下,我在m_NameClass中看到了许多新类。但是createx返回false。
请帮帮我。也许你会看到一些我看不到的错误。请不要把我发送到MSDN,我已经读了很多次了。
谢谢首先,您必须检查mpWnd是否为有效对象
BOOL isValid = ::IsWindow(mpWnd->GetSafeHwnd());
如果mpWnd是无效值,CreateEx函数将返回0,因为WS_弹出式样式