为什么我派生自CWnd 的类; 创建窗口总是失败呢?

时间:2022-09-07 23:17:58
代码如下:
这个市头文件
#pragma once


// C12Wnd

class C12Wnd : public CWnd
{
DECLARE_DYNAMIC(CBts12Wnd)

public:
C12Wnd(CWnd* pWnd);
virtual ~C12Wnd();

protected:
DECLARE_MESSAGE_MAP()

};


这个是源文件
#include "stdafx.h"
#include "BS.h"
#include "B12Wnd.h"


// C12Wnd

IMPLEMENT_DYNAMIC(C12Wnd, CWnd)

C12Wnd::C12Wnd(CWnd* pWnd)
{
//m_hWnd = pWnd;

}

C12Wnd::~C12Wnd()
{
}


BEGIN_MESSAGE_MAP(C12Wnd, CWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()



// CBts12Wnd message handlers





	C12Wnd m_p12Wnd = new C12Wnd(this);

bResult = m_p12Wnd->Create(_T("12Wnd"), _T("Hello"), WS_CHILD, CRect(0, 0, 0, 0), this, IDD_12_WND); //IDD_12_WND 是我自定义的一个ID
        //为什么创建窗口的时候总是返回零,并报Warning: Window creation failed: GetLastError returns 0x0000057F
        //查了一下是找不到窗口类别;

2 个解决方案

#1


是这个窗口类名不存在,你没有定义一个自己的WNDCLASS 结构!把第一个参数传NULL试一试!!!

#2


谢谢就是这个答案!

#1


是这个窗口类名不存在,你没有定义一个自己的WNDCLASS 结构!把第一个参数传NULL试一试!!!

#2


谢谢就是这个答案!