Partager via


GetMenuStringW, fonction (winuser.h)

Copie la chaîne de texte de l’élément de menu spécifié dans la mémoire tampon spécifiée.

remarque la fonction GetMenuString a été remplacée. Utilisez la fonction GetMenuItemInfo pour récupérer le texte de l’élément de menu.
 

Syntaxe

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

Paramètres

[in] hMenu

Type : HMENU

Handle du menu.

[in] uIDItem

Type : uiNT

Élément de menu à modifier, tel que déterminé par le paramètre uFlag.

[out, optional] lpString

Type : LPTSTR

Mémoire tampon qui reçoit la chaîne terminée par null. Si la chaîne est aussi longue ou plus longue que lpString, la chaîne est tronquée et le caractère null de fin est ajouté. Si lpString est NULL, la fonction retourne la longueur de la chaîne de menu.

[in] cchMax

Type : int

Longueur maximale, en caractères, de la chaîne à copier. Si la chaîne est supérieure à la valeur maximale spécifiée dans le paramètre nMaxCount, les caractères supplémentaires sont tronqués. Si nMaxCount est 0, la fonction retourne la longueur de la chaîne de menu.

[in] flags

Type : uiNT

Indique comment le paramètre uIDItem est interprété. Ce paramètre doit être l’une des valeurs suivantes.

Valeur Signification
MF_BYCOMMAND
0x00000000L
Indique que uIDItem donne l’identificateur de l’élément de menu. Si ni l’indicateur MF_BYCOMMAND ni MF_BYPOSITION n’est spécifié, l’indicateur MF_BYCOMMAND est l’indicateur par défaut.
MF_BYPOSITION
0x00000400L
Indique que uIDItem donne la position relative de base zéro de l’élément de menu.

Valeur de retour

Type : int

Si la fonction réussit, la valeur de retour spécifie le nombre de caractères copiés dans la mémoire tampon, sans inclure le caractère null de fin.

Si la fonction échoue, la valeur de retour est égale à zéro.

Si l’élément spécifié n’est pas de type MIIM_STRING ou MFT_STRING, la valeur de retour est égale à zéro.

Remarques

Le paramètre nMaxCount doit être supérieur au nombre de caractères de la chaîne de texte pour prendre en charge le caractère null de fin.

Si nMaxCount est 0, la fonction retourne la longueur de la chaîne de menu.

Avertissement de sécurité

Le paramètre lpString est une mémoire tampon TCHAR et nMaxCount est la longueur de la chaîne de menu en caractères. Le dimensionnement incorrect de ces paramètres peut entraîner une troncation de la chaîne, ce qui entraîne une perte possible de données.

Exemples

Pour obtenir un exemple, consultez Création d’accélérateurs modifiables par l’utilisateur.

Note

L’en-tête winuser.h définit GetMenuString en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include Windows.h)
bibliothèque User32.lib
DLL User32.dll
ensemble d’API ext-ms-win-ntuser-menu-l1-1-3 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

conceptuelle

GetMenuItemID

menus

de référence