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