2016-10-13 3 views
0

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

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

Спасибо.

ответ

2

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

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

lpszMenuName
Тип: LPCTSTR

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

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

+0

* Вы можете использовать SetClassLong()/SetClassLongPtr() с параметром nIndex, установленным в GCLP_MENUNAME, для изменения значения lpszMenuName для класса, используемого данным окном. * - Вы можете, но это не повлияет ни на какой данное окно. Меню класса оценивается только при создании окна. – IInspectable

1

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^