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


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

Вставляет новый пункт меню в указанную позицию в меню.

Синтаксис

BOOL InsertMenuItemW(
  [in] HMENU            hmenu,
  [in] UINT             item,
  [in] BOOL             fByPosition,
  [in] LPCMENUITEMINFOW lpmi
);

Параметры

[in] hmenu

Тип: HMENU

Дескриптор меню, в который вставляется новый пункт меню.

[in] item

Тип: UINT

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

[in] fByPosition

Тип: BOOL

Управляет значением элемента. Если этот параметр имеет значение FALSE, элемент является идентификатором элемента меню. В противном случае это позиция пункта меню. Дополнительные сведения см. в статье Доступ к пунктам меню программным способом .

[in] lpmi

Тип: LPCMENUITEMINFO

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

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

Тип: BOOL

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

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

Комментарии

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

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

Примеры

Пример см. в разделе Пример Menu-Item растровых изображений.

Примечание

Заголовок winuser.h определяет InsertMenuItem в качестве псевдонима, который автоматически выбирает версию 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-1 (появилось в Windows 8.1)

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

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

DrawMenuBar

MENUITEMINFO

Меню

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