Поделиться через


Функция SetMenuItemInfoW (winuser.h)

Изменяет сведения об элементе меню.

Синтаксис

BOOL SetMenuItemInfoW(
  [in] HMENU            hmenu,
  [in] UINT             item,
       BOOL             fByPositon,
  [in] LPCMENUITEMINFOW lpmii
);

Параметры

[in] hmenu

Тип: HMENU

Дескриптор для меню, содержащего элемент меню.

[in] item

Тип: UINT

Идентификатор или положение элемента меню, который требуется изменить. Значение этого параметра зависит от значения fByPosition.

fByPositon

[in] lpmii

Тип: LPMENUITEMINFO

Указатель на структуру MENUITEMINFO , которая содержит сведения об элементе меню и указывает, какие атрибуты элемента меню следует изменить.

Возвращаемое значение

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, используйте функцию GetLastError .

Комментарии

Приложение должно вызывать функцию DrawMenuBar при каждом изменении меню независимо от того, находится ли меню в отображаемом окне.

Чтобы ускорители клавиатуры работали с точечными рисунками или элементами меню, нарисованными владельцем, владелец меню должен обработать WM_MENUCHAR сообщение. Дополнительные сведения см. в разделе Меню, нарисованные владельцем, и сообщение WM_MENUCHAR .

Примеры

Пример см. в разделе Пример элементов меню Owner-Drawn.

Примечание

Заголовок winuser.h определяет SetMenuItemInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-menu-l1-1-0 (появилось в Windows 8)

См. также раздел

Основные понятия

DrawMenuBar

GetMenuItemInfo

MENUITEMINFO

Меню

Справочные материалы