http://www.gamedev.net/community/forums/topic.asp?topic_id=291682
Изменить: Это не простой вопрос, чтобы ответить. Если вы не знаете, что такое дочернее окно под Win32, вы можете оказаться в гораздо лучшем положении. Однако просить кого-то дать вам полное объяснение оконной оконной системы - не значит подвиг.
Вот обзор:
По сути, вам нужно создать дочернее окно, которое можно сделать с помощью CreateWindow , чтобы создать окно со стилем WS_CHILD и с его параметром hWndParent, установленным в дескриптор окна, чтобы новое окно было дочерним. из.
Когда вы создали окно, вы обязательно создадите оконную процедуру Когда вы вызываете DispatchMessage из вашей рассылки сообщений (Цикл, который выполняет Get / PeekMessage и затем отправляет сообщения - это насос сообщений). Внутри оконной процедуры вы можете затем включить тип сообщения и обработать каждое сообщение, отправленное в ваше окно.
Отсюда вы можете обрабатывать такие вещи, как установка. Ваше начальное окно будет иметь либо WM_CREATE , либо WM_INITDIALOG (в зависимости от того, какой тип окна вы создаете). Именно оттуда вам нужно создать дочерние окна (не забудьте вызвать ShowWindow , чтобы сделать их видимыми !!). С этого момента вы можете настроить устройство DirectX для подключения к дескриптору дочернего окна (HWND).
Кроме того, если вы хотите изменить размер окна, вы также должны принять во внимание сообщение WM_SIZE . Однако я настоятельно рекомендую попытаться заставить остальные работать, прежде чем даже начать разбираться с этим, поскольку это становится очень сложным, поскольку вам нужно будет уничтожить и заново создать устройство DirectX, чтобы оно имело правильный размер.
В любом случае, это просто обзор. Надеюсь, это поможет!