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


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

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

Синтаксис

BOOL InsertMenuItemA(
  [in] HMENU            hmenu,
  [in] UINT             item,
  [in] BOOL             fByPosition,
  [in] LPCMENUITEMINFOA lpmi
);

Параметры

[in] hmenu

Тип: HMENU

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

[in] item

Тип: UINT

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

[in] fByPosition

Тип: BOOL

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

[in] lpmi

Тип: LPCMENUITEMINFO

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

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

Тип: BOOL

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

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

Замечания

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

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

Примеры

Пример см. в разделе Пример Menu-Item растровых карт.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll
набор API ext-ms-win-ntuser-menu-l1-1-1 (представлено в Windows 8.1)

См. также

концептуальные

DrawMenuBar

MENUITEMINFO

меню

Справочник