Partager via


InsertMenuItemA, fonction (winuser.h)

Insère un nouvel élément de menu à la position spécifiée dans un menu.

Syntaxe

BOOL InsertMenuItemA(
  [in] HMENU            hmenu,
  [in] UINT             item,
  [in] BOOL             fByPosition,
  [in] LPCMENUITEMINFOA lpmi
);

Paramètres

[in] hmenu

Type : HMENU

Handle du menu dans lequel le nouvel élément de menu est inséré.

[in] item

Type : UINT

Identificateur ou position de l’élément de menu devant lequel insérer le nouvel élément. La signification de ce paramètre dépend de la valeur de fByPosition.

[in] fByPosition

Type : BOOL

Contrôle la signification de l’élément. Si ce paramètre a la valeur FALSE, l’élément est un identificateur d’élément de menu. Sinon, il s’agit d’une position d’élément de menu. Pour plus d’informations, consultez Accès aux éléments de menu par programmation .

[in] lpmi

Type : LPCMENUITEMINFO

Pointeur vers une structure MENUITEMINFO qui contient des informations sur le nouvel élément de menu.

Valeur retournée

Type : BOOL

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, utilisez la fonction GetLastError .

Remarques

L’application doit appeler la fonction DrawMenuBar chaque fois qu’un menu change, que le menu se trouve dans une fenêtre affichée.

Pour que les accélérateurs de clavier fonctionnent avec des éléments de menu bitmap ou dessinés par le propriétaire, le propriétaire du menu doit traiter le WM_MENUCHAR message. Pour plus d’informations, consultez Menus dessinés par le propriétaire et message WM_MENUCHAR .

Exemples

Pour obtenir un exemple, consultez Exemple de bitmaps Menu-Item.

Notes

L’en-tête winuser.h définit InsertMenuItem comme un 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.

Configuration requise

   
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-1 (introduit dans Windows 8.1)

Voir aussi

Conceptuel

DrawMenuBar

MENUITEMINFO

Menus

Référence