以下是 注册窗口类和创建窗口的过程,在调试的时候 CreateWindow 总是返回 false,我不知道哪里出了错误,因为刚开始进行sdk的编程,还请高手帮忙指点一下,如何解决越具体越好!ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;wcex.cbSize=sizeof(WNDCLASSEX);wcex.style=CS_HREDRAW|CS_VREDRAW;wcex.lpfnWndProc =(WNDPROC)WndProc;wcex.cbClsExtra =0;wcex.cbWndExtra=0;wcex.hInstance=hInstance;wcex.hIcon=NULL;//LoadIcon(hInstance,(LPCTSTR)IDI_HELLOWORLD);//wcex.hCursor=LoadCursor(NULL,IDC_ARROW);wcex.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wcex.lpszMenuName=NULL;//(LPCSTR)IDC_HELLOWORLD;wcex.lpszClassName="MySecondMFC";//wcex.hIconSm=LoadIcon(wcex.hInstance,(LPCTSTR)IDI_SMALL);return RegisterClassEx(&wcex);
}BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
HINSTANCE hInst;
hInst=hInstance;
hWnd=CreateWindow("MySecondMFC","My second MFC wondow application-show mouse's postion",
WS_DLGFRAME,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd)
{
MessageBox(NULL,"","",NULL);
return false;
}
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd); return true;
}
{
WNDCLASSEX wcex;wcex.cbSize=sizeof(WNDCLASSEX);wcex.style=CS_HREDRAW|CS_VREDRAW;wcex.lpfnWndProc =(WNDPROC)WndProc;wcex.cbClsExtra =0;wcex.cbWndExtra=0;wcex.hInstance=hInstance;wcex.hIcon=NULL;//LoadIcon(hInstance,(LPCTSTR)IDI_HELLOWORLD);//wcex.hCursor=LoadCursor(NULL,IDC_ARROW);wcex.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wcex.lpszMenuName=NULL;//(LPCSTR)IDC_HELLOWORLD;wcex.lpszClassName="MySecondMFC";//wcex.hIconSm=LoadIcon(wcex.hInstance,(LPCTSTR)IDI_SMALL);return RegisterClassEx(&wcex);
}BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
HINSTANCE hInst;
hInst=hInstance;
hWnd=CreateWindow("MySecondMFC","My second MFC wondow application-show mouse's postion",
WS_DLGFRAME,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd)
{
MessageBox(NULL,"","",NULL);
return false;
}
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd); return true;
}
BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
函数中使用了
hWnd=CreateWindow。。
但是在此之前应该先向windows注册窗口类,也就是前面定义得函数、、
正确得是在创建之前调用注册函数 如BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
HINSTANCE hInst;
hInst=hInstance;
//加上这句
MyRegisterClass(hInst);
hWnd=CreateWindow("MySecondMFC","My second MFC wondow application-show mouse's postion",
WS_DLGFRAME,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);