Partager via


GetMenuStringA, 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.

Note 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 GetMenuStringA(
  [in]            HMENU hMenu,
  [in]            UINT  uIDItem,
  [out, optional] LPSTR 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 a la valeur 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 plus longue que la valeur maximale spécifiée dans le paramètre nMaxCount , les caractères supplémentaires sont tronqués. Si nMaxCount a la valeur 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 peut prendre les valeurs suivantes.

Valeur Signification
MF_BYCOMMAND
0x00000000L
Indique que uIDItem fournit 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 retournée

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 dans la chaîne de texte pour prendre en charge le caractère null de fin.

Si nMaxCount a la valeur 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 peut entraîner une perte de données.

Exemples

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

Notes

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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure 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

Conceptuel

GetMenuItemID

Menus

Référence