Функция GetMenuStringA (winuser.h)
Копирует текстовую строку указанного элемента меню в указанный буфер.
Синтаксис
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
Возвращаемое значение
Тип: 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) |
См. также
концептуальные
меню
Справочник