Функция GetMenuItemInfo извлекает информацию о пункте меню.
Синтаксис
BOOL GetMenuItemInfo( HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii ); |
Параметры
hMenu
[in] Дескриптор меню, которое содержит пункт.uItem
[in] Идентификатор или позиция пункта меню, о котором получаем информацию. Значение этого параметра зависит от значения параметра fByPosition.fByPosition
[in] Устанавливает значение uItem. Если этот параметр - ЛОЖЬ (FALSE), uItem - идентификатор пункта меню. В противном случае, это - позиция пункта меню.lpmii
[in, out] Указатель на структуру MENUITEMINFO, которая определяет информацию для извлечения и получает информацию о пункте меню.Обратите внимание! на то, что Вы должны установить член MENUITEMINFO.cbSize в sizeof (MENUITEMINFO) перед вызовом этой функции. |
Возвращаемое значение
Если функция завершается успешно, величина возвращаемого значения - не нуль.
Если функция завершается с ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные сведения об ошибке, используйте функцию GetLastError.
Замечания
Чтобы извлечь данные о пункте меню типа MFT_STRING, сначала найдите размер строки, устанавливая член dwTypeData структуры MENUITEMINFO в ПУСТО (NULL), а затем вызовите функцию GetMenuItemInfo. Значение члена cch+1 - необходимый размер. Далее выделите буфер этого же размера, поместите указатель на буфер в члене dwTypeData, увеличьте значение cch на единицу, и затем вызовите GetMenuItemInfo еще раз, чтобы заполнить буфер строкой.
Если извлеченный пункт меню имеет какой-либо другой тип, тогда GetMenuItemInfo устанавливает член dwTypeData в значение, тип которого определяется членом fTypefType и устанавливает cch в 0.
Windows 98/Me и Windows 2000/XP: dwTypeData и cch используют MIIM_STRING.
Windows 95/98/Me: GetMenuItemInfoW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Пример
Пример смотри в статье Пример пунктов собственного меню.
Смотри также
Краткий обзор Меню, SetMenuItemInfo
Размещение и совместимость GetMenuItemInfo |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 4.0 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |