У меня есть следующий бит кода;CreateWindow никогда не запускает WM_CREATE
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
printf("%d\n", message);
return 0;
}
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
WNDCLASSEX wc = {0};
wc.cbSize = sizeof(WNDCLASSEX);
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND);
wc.lpszClassName = "oglversionchecksample";
wc.style = CS_OWNDC;
if(!RegisterClassEx(&wc))
return 1;
CreateWindow(wc.lpszClassName, "openglversioncheck", WS_OVERLAPPED, 0, 0, 640, 480, 0, 0, hInstance, 0);
return 0;
}
Вызов CreateWindow()
триггеров номера сообщений 36 WM_GETMINMAXINFO
, 129 WM_NCCREATE
, а затем 130 WM_NCDESTROY
, но номер сообщения 1 WM_CREATE
никогда не срабатывает, как это должно быть.
Что я делаю неправильно, что вызывает WM_CREATE
, чтобы не срабатывать?
Возможный дубликат [CreateWindow() в Visual C++ всегда возвращать нуль] (http://stackoverflow.com/questions/31493124/createwindow-in-visual-c- always-return-null) –