2010-11-27 66 views
3

在使用C++和win32 api創建子窗口時遇到問題。 如果我檢查getLastError函數返回「87」,但我不知道這意味着什麼。 因爲我知道我的代碼不包含錯誤,有人可以看看我的代碼,並幫我弄清楚它有什麼問題。另一個win32問題

(這是在Winproc傳WM_CREATE部分。)

 HWND hChildWindow = CreateWindowEx(WS_EX_CLIENTEDGE,0,NULL,WS_OVERLAPPEDWINDOW|WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hwnd,0,GetModuleHandle(0),NULL); 
    if(!hChildWindow) 
    { 
     char text[256]; 
      int errormsg = (int)GetLastError(); 
      sprintf(text,"Error# %i",errormsg); 
      MessageBox(0,text,"Error",MB_OK|MB_ICONEXCLAMATION); 
     return false; 
    } 

回答

1

快速查看通過System Error Codes參考指示ERROR_INVALID_PARAMETER。您很可能會將風格/標誌的無效組合傳遞給您的窗口。

2

CreateWindowEx的第二個參數是一個窗口類(字符串或ATOM)。顯然NULL不是一個有效的值。

P.S.

什麼,我知道我的代碼不 包含錯誤......

當心這樣一個響亮的短語。當東西不起作用時,應仔細檢查一切。否則,你可能只是指責某人/某人沒有任何好處來解決問題。檢查一切與標準/文件/規格/等。在你作出任何判斷之前。