Partager via


CSnapInItemImpl::UpdateMenuState

Appelez cette fonction pour modifier un élément de menu avant d'être inséré dans le menu contextuel de l'objet enfichable.

void UpdateMenuState( 
   UINT id, 
   LPTSTR pBuf, 
   UINT *flags  
);

Paramètres

  • id
    [in] L'ID de l'élément de menu à définir.

  • pBuf
    [in] Un pointeur vers une chaîne pour l'élément de menu mis à jour.

  • flags
    [in] spécifie les nouvelles balises d'état. Cela peut être une combinaison des indicateurs suivants :

    • MF_POPUP spécifie qu'il s'agit d'un sous-menu du menu contextuel. Les éléments de menu, les points d'insertion, et d'autres sous-menus peuvent être ajoutés à ce sous-menu à l'aide de son lCommandID comme leur IInsertionPointID.

    • MF_BITMAP et MF_OWNERDRAW ces indicateurs ne sont pas autorisés et auront entraîner une valeur de retour d' E_INVALIDARG.

    • MF_SEPARATOR dessine une ligne de séparation horizontale. Il permet uniquement à IContextMenuProvider pour ajouter des éléments de menu à MF_SEPARATOR a la valeur.

    • MF_CHECKED définit une coche en regard de l'élément de menu.

    • MF_DISABLED désactive l'élément de menu il ne peut pas être sélectionné, mais la balise ne le grise pas.

    • MF_ENABLED active l'élément de menu ce qui peut être sélectionné, le restaurant de son état grisé.

    • MF_GRAYED désactive l'élément de menu, le grisant il ne peut pas être sélectionné.

    • MF_MENUBARBREAK s'exécute les mêmes que la balise de MF_MENUBREAK pour une barre de menus. Pour un menu déroulant, un sous-menu, ou un menu contextuel, la nouvelle colonne est séparée de la colonne ancienne par une ligne verticale.

    • MF_MENUBREAK définit l'élément sur une nouvelle ligne (pour une barre de menus) ou dans une nouvelle colonne (pour un menu déroulant, un sous-menu, ou un menu contextuel) sans séparer des colonnes.

    • MF_UNCHECKED ne définit pas une coche en regard de l'élément (par défaut).

Les groupes suivants de balises ne peuvent pas être utilisés ensemble :

  • MF_DISABLED, MF_ENABLED, et MF_GRAYED.

  • MF_MENUBARBREAK et MF_MENUBREAK.

  • MF_CHECKED et MF_UNCHECKED.

Configuration requise

Header: atlsnap.h

Voir aussi

Référence

CSnapInItemImpl, classe