Есть ли стиль окна, который соответствует меню класса HWND?

Windows имеет несколько стилей окна, которые соответствуют атрибутам окна, и SetWindowLongPtr, используется с параметрами GWL_EXSTYLE или же GWL_STYLE, можно использовать для включения / выключения этих атрибутов. Например, WS_CAPTION может использоваться для включения / выключения строки заголовка окна. Мне было интересно, есть ли стиль окна, который соответствует переключению меню классов HWND ON/OFF.

Примечание: я понимаю, что меню класса можно переключать через SetMenu API, но было просто любопытно, есть ли соответствующий стиль окна.

Благодарю.

2 ответа

Решение

Нет стиля окна, но вместо этого есть значение класса.

Когда класс окна зарегистрирован через RegisterClass() / RegisterClassEx(), WNDCLASS / WNDCLASSEX структура имеет lpszMenuName член:

lpszMenuName
Тип: LPCTSTR

Имя ресурса меню класса, так как имя появляется в файле ресурсов. Если вы используете целое число для идентификации меню, используйте макрос MAKEINTRESOURCE. Если этот член имеет значение NULL, окна, принадлежащие этому классу, не имеют меню по умолчанию.

Ты можешь использовать SetClassLong() / SetClassLongPtr() с этими nIndex параметр установлен в GCLP_MENUNAME изменить lpszMenuName значение для класса, используемого данным окном.

Нет стиля, соответствующего меню окна. Меню класса включается и выключается путем установки lpszMenuName поле структуры WNDCLASSEX для правильного имени ресурса меню или NULL, если меню классов не запрашивается.

Обратите внимание, что класс окна - это шаблон для создания окна. Вы можете переопределить пункт меню в вашем вызове CreateWindowEx при создании окна.

Другие вопросы по тегам