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


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

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

Синтаксис

BOOL GetMenuItemInfoA(
  [in]      HMENU           hmenu,
  [in]      UINT            item,
  [in]      BOOL            fByPosition,
  [in, out] LPMENUITEMINFOA lpmii
);

Параметры

[in] hmenu

Тип: HMENU

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

[in] item

Тип: UINT

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

[in] fByPosition

Тип: BOOL

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

[in, out] lpmii

Тип: LPMENUITEMINFO

Указатель на структуру MENUITEMINFO, указывающую сведения для получения и получения сведений о элементе меню. Обратите внимание, что перед вызов ом этой функции необходимо задать для элемента cbSize значение .

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

Тип: BOOL

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

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

Замечания

Чтобы получить элемент меню типа MFT_STRING, сначала найдите размер строки, за дав элемент dwTypeData члена MENUITEMINFO NULL, а затем вызовите GetMenuItemInfo. Значение cch+1 — это необходимый размер. Затем выделите буфер этого размера, поместите указатель на буфер в dwTypeData, добавим cch по одному, а затем вызовите GetMenuItemInfo, чтобы заполнить буфер строкой.

Если полученный элемент меню имеет другой тип, GetMenuItemInfo задает элементу dwTypeData DwTypeData значение, тип которого указан элементом fType fType и задает cch значение 0.

Примеры

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

Заметка

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

Требования

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

См. также

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

меню

Справочник

SetMenuItemInfo