BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap * pBmp );
Valeur de retour
Différent de zéro si la fonction est réussie ; sinon 0.
Paramètres
nPosition
Spécifie l'élément de menu à modifier. Le paramètre nIndicateurs peut servir à interpréter nPosition de la manière suivante:
| nFlags | Interprétation de nPosition |
| MF_BYCOMMAND | Spécifie que le paramètre donne l'ID de commande de l'élément de menu existant. C'est la valeur par défaut si ni MF_BYCOMMAND ni MF_BYPOSITION. |
| MF_BYPOSITION | Spécifie que le paramètre donne la position de l'élément de menu existant. Le premier élément est à la position 0. |
nFlags
Spécifie comment nPosition est interprété et donne des informations sur les modifications à apporter à l'élément de menu. Pour une liste d'indicateurs qui peuvent être définis, consultez la fonction membre AppendMenu.
nIDNewItem
Spécifie soit l'ID de commande de l'élément de menu modifié ou, si nIndicateurs est défini sur MF_POPUP, la poignée de menu (HMENU) d'un menu déroulant. Le paramètre nIDNewItem est ignoré (pas nécessaire) si nIndicateurs est défini sur MF_SEPARATOR.
lpszNewItem
Spécifie le contenu de l'élément de menu nouveau. Le paramètre nIndicateurs peut servir à interpréter les lpszNewItem de la manière suivante:
| nFlags | Interprétation de lpszNewItem |
| MF_OWNERDRAW | Contient une valeur de 32 bits fournie à la demande que l'application peut utiliser pour maintenir les données supplémentaires associées à l'élément de menu. Cette valeur de 32 bits est disponible à la demande lorsqu'il traite MF_MEASUREITEM et MF_DRAWITEM. |
| MF_STRING | Contient un long pointeur vers une chaîne terminée par null ou à une CString. |
| MF_SEPARATOR | Le paramètre lpszNewItem est ignoré (ne pas nécessaire). |
pBmp
Pointe vers un objet CBitmap qui sera utilisé comme l'élément de menu.
Remarques
Modifie un élément de menu existant à la position spécifiée par nPosition. L'application spécifie le nouvel état de l'élément de menu en définissant les valeurs de nFlags. Si cette fonction remplace un menu contextuel associé à l'élément de menu, il détruit l'ancien menu contextuel et libère la mémoire utilisée par le menu contextuel.
Lorsque nIDNewItem spécifie un menu déroulant, il devient partie du menu dans lequel elle est insérée. Si ce menu est détruit, le menu inséré sera également détruit. Un menu inséré devrait être détaché d'un objet CMenu pour éviter un conflit.
Chaque fois qu'un menu qui se trouve dans une fenêtre est modifié (si la fenêtre est affichée), l'application doit appeler CWnd::DrawMenuBar. Pour modifier les attributs des éléments de menu existants, il est beaucoup plus rapide d'utiliser les fonctions membres CheckMenuItem et EnableMenuItem.
Aperçu des CMenu |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussinbsp ;CMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: ModifyMenu