Функция GetMenuString

Функция GetMenuString копирует текстовую строку заданного  пункта меню в определяемый буфер.

Синтаксис

int GetMenuString(
    HMENU hMenu,
    UINT uIDItem,
    LPTSTR lpString,
    int nMaxCount,
    UINT uFlag
); 

Параметры

hMenu

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

uIDItem

[in] Определяет пункт меню, который измениться, как обусловлено  параметром uFlag .

lpString

[out] Указатель на буфер, который принимает символьную строку с нулем в конце. Если строка такой же  длины или длиннее чем lpString, строка обрезается, а признак конца  ПУСТО (NULL) добавляется. Если lpString имеет значение ПУСТО (NULL), функция возвращает длину строки меню.

nMaxCount

[in] Устанавливает максимальную длину строки для копирования, в символах. Если строка длиннее чем максимум, заданный в параметре nMaxCount, лишние символы обрезаются. Если nMaxCount - 0, функция возвращает  длину строки меню.

uFlag

[in] Устанавливает, как интерпретировать параметр uIDItem. Этот параметр должен быть одним из ниже перечисленных значений.

Значение

Предназначение

MF_BYCOMMAND

Указывает, что uIDItem дает идентификатор пункта меню. Если ни флажок MF_BYCOMMAND, ни флажок MF_BYPOSITION не установлен, флажок MF_BYCOMMAND является флажком, заданным по умолчанию. 

MF_BYPOSITION

Указывает, что uIDItem дает отсчитываемую от нуля относительную позицию пункта меню. 

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

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

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

Если заданный пункт не типа MFT_STRING, тогда величина возвращаемого значения - нуль.

Windows 98/Me и Windows 2000/XP: MIIM_STRING заменяет MFT_STRING.

Замечания

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

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

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

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

Windows 95/98/Me: GetMenuStringW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Пример

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

Смотри также

Краткий обзор Меню, GetMenuItemID

Размещение и совместимость GetMenuString

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz