Самый простой способ создать HWND - PullRequest
6 голосов
/ 08 марта 2011

Мне нужно фиктивное окно в MSVC ++, оно никогда не будет видимо и создается даже до главного окна приложения.Это требуется движком рендеринга.Так что я бы предпочел не регистрировать класс, если это возможно.

Для тестирования было бы лучше сделать его видимым, чтобы доказать, что он есть - могу ли я использовать статический или кнопку или что-то еще?Я пытался с CreateWindow (), но пока я получаю возвращаемое значение, ничего видимого не появляется.

Ответы [ 3 ]

15 голосов
/ 08 марта 2011

Я отправляю свой собственный тестовый код для критики:

HWND dummyHWND = ::CreateWindowA("STATIC","dummy",WS_VISIBLE,0,0,100,100,NULL,NULL,NULL,NULL);
::SetWindowTextA(dummyHWND,"Dummy Window!");

Казалось, работает ...

2 голосов
/ 08 марта 2011

После CreateWindow вам нужно вызвать ShowWindow, чтобы сделать его видимым.

1 голос
/ 08 марта 2011

В первом уроке NeHe они подробно описывают, что нужно сделать, чтобы настроить контекст рендеринга OpenGL, и создание окна (и HWND) является его частью. Если вам это нужно для чего-то другого, кроме контекста OpenGL, я думаю, что код, который они представляют, может быть легко принят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...