以下是 注册窗口类和创建窗口的过程,在调试的时候 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;
}

解决方案 »

  1.   

    我想问题可能出在RegisterClassEx和CreateWindow的配套调用上,把RegisterClassEx改为RegisterClass,或者把CreateWindow改为CreateWindowEx
      

  2.   

    程序从此开始执行
    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);