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


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

Копирует текстовую строку указанного элемента меню в указанный буфер.

примечание функция GetMenuString заменена. Используйте функцию GetMenuItemInfo , чтобы получить текст элемента меню.
 

Синтаксис

int GetMenuStringA(
  [in]            HMENU hMenu,
  [in]            UINT  uIDItem,
  [out, optional] LPSTR lpString,
  [in]            int   cchMax,
  [in]            UINT  flags
);

Параметры

[in] hMenu

Тип: HMENU

Дескриптор меню.

[in] uIDItem

Тип: UINT

Элемент меню, который необходимо изменить, определяется параметром uFlag.

[out, optional] lpString

Тип: LPTSTR

Буфер, получающий строку, завершающую значение NULL. Если строка длинна или длиннее lpString, строка усечена и добавляется завершающий символ NULL. Если lpStringNULL, функция возвращает длину строки меню.

[in] cchMax

Тип: int

Максимальная длина строки в символах для копирования. Если строка длиннее максимального значения, указанного в параметре nMaxCount, то дополнительные символы усечены. Если nMaxCount равно 0, функция возвращает длину строки меню.

[in] flags

Тип: UINT

Указывает, как интерпретируется параметр uIDItem . Этот параметр должен быть одним из следующих значений.

Ценность Значение
MF_BYCOMMAND
0x000000000L
Указывает, что uIDItem предоставляет идентификатор элемента меню. Если ни MF_BYCOMMAND, ни флаг MF_BYPOSITION не указан, флаг MF_BYCOMMAND является флагом по умолчанию.
MF_BYPOSITION
0x00000400L
Указывает, что uIDItem дает относительное положение элемента меню на основе нуля.

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

Тип: int

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

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

Если указанный элемент не имеет типа MIIM_STRING или MFT_STRING, возвращаемое значение равно нулю.

Замечания

Параметр nMaxCount должен быть больше числа символов в текстовой строке, чтобы вместить завершающий символ NULL.

Если nMaxCount равно 0, функция возвращает длину строки меню.

Предупреждение системы безопасности

Параметр lpString — это буфер TCHAR, а nMaxCount — длина строки меню в символах. Неправильное изменение размера этих параметров может привести к усечению строки, что приводит к возможной потере данных.

Примеры

Пример см. в статье Создание пользовательских редактируемых акселераторов.

Заметка

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

См. также

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

GetMenuItemID

меню

Справочник