2010-11-27 60 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.

什么,我知道我的代码不 包含错误......

当心这样一个响亮的短语。当东西不起作用时,应仔细检查一切。否则,你可能只是指责某人/某人没有任何好处来解决问题。检查一切与标准/文件/规格/等。在你作出任何判断之前。