Есть ли стиль окна, который соответствует меню класса 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 при создании окна.