一次莫名其妙的CreateWindow失敗的事故

---恢復內容開始---學習

  在測試解決某個問題的時候, 建立了一個簡單的窗口像這樣的測試

 1 WNDCLASS wnd;
 2 
 3 wnd.style = CS_HREDRAW|CS_VREDRAW;
 4 wnd.hInstance = hInstance;
 5 .
 6 .
 7 .
 8 .
 9 .
10 .
11 .
12 wnd.lpszMenuName = NULL;
13 
14 
15 RegisterClass(&wnd);
16 DWORD error = ::GetLastError();
17 HWND hwnd = CreateWindowW(....);
18 error = ::GetLasterror();

一直到註冊窗口的時候都是正常的spa

可是CreateWindow以後返回的一直都是空句柄code

GetLastError返回的也是0blog

這感受沒辦法調處問題在哪裏ast

遂上網查之class

 

從網上學習到:error

CreateWindow的時候,會執行一次設置的WndProc, 而且要返回TRUEdi

看了一下本身的WndProc,確實沒有返回TRUEco

加上default: return DefWindowProc(...);

就ok了

相關文章
相關標籤/搜索