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

За то, что я знаю, что мой код не содержать ошибки ...

Остерегайтесь столь громких фраз. Когда что-то не работает, все должно быть тщательно проверено. В противном случае вы можете просто обвинить кого-то или кого-либо, не имеющего никакой пользы для решения проблемы. Проверьте все по сравнению с стандартом/документацией/спецификациями/и т. Д. прежде чем принимать какие-либо суждения.

Смежные вопросы