Что создает три иконки закрытия / минимизации / максимизации в верхнем углу окна? (C ++) - PullRequest
1 голос
/ 04 октября 2009

Я делаю программу на C ++ / Windows / DirectX, и когда она запускается в оконном режиме (используется

d3dpp.Windowed = (!FULLSCREEN);

где FULLSCREEN определен как 0), три иконки, которые обычно находятся в верхней части любого окна (свернуть, развернуть / восстановить и закрыть), отсутствуют. Кроме того, это не просто изображение без рамки или чего-либо еще, оно выглядит идентично обычному окну, за исключением трех вышеупомянутых значков.

Итак, что может привести к тому, что окно потеряет три иконки в верхнем углу, не изменив какой-либо другой его аспект?

Ответы [ 2 ]

3 голосов
/ 04 октября 2009

Вы не говорите, как окно создано для вас. При программировании обычного Win32 вы создаете окна с функциями CreateWindow() или CreateWindowEx(), которым вы передаете некоторые стиль окна флаги. Флаги WS_MINIMIZEBOX и WS_MAXIMIZEBOX делают то, что вы ожидаете, а флаг WS_SYSMENU контролирует добавление кнопки закрытия и значка окна в левом верхнем углу. Если ни один из этих трех флагов не установлен для окна, у него не будет кнопок.

0 голосов
/ 04 октября 2009

Если ваше приложение Directx живет внутри winmain, например:

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)

, затем диспетчер окон получает инструкции по управлению кнопками при вызове CreateWindow .

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