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


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

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

Синтаксис

BOOL SetMenuItemInfoA(
  [in] HMENU            hmenu,
  [in] UINT             item,
       BOOL             fByPositon,
  [in] LPCMENUITEMINFOA 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента 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

Меню

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