Méthode IContextMenuSite::D oContextMenuPopup (shobjidl_core.h)
[DoContextMenuPopup n’est plus disponible à partir de Windows Server 2003.]
Crée et affiche un menu contextuel, effectue le suivi de la sélection des éléments de ce menu et appelle une commande choisie.
Syntaxe
HRESULT DoContextMenuPopup(
[in] IUnknown *punkContextMenu,
[in] UINT fFlags,
[in] POINT pt
);
Paramètres
[in] punkContextMenu
Type : IUnknown*
Pointeur vers l’implémentation IUnknown du menu contextuel.
[in] fFlags
Type : UINT
Indicateurs facultatifs spécifiant la façon dont le menu contextuel peut être modifié. Ce paramètre peut être défini sur n’importe quelle combinaison des valeurs suivantes. Les bits restants du mot de bas ordre sont réservés par le système. Le mot d’ordre supérieur peut être utilisé pour les communications spécifiques au contexte. La valeur CMF_RESERVED peut être utilisée pour masquer le mot d’ordre inférieur.
CMF_NORMAL (0x00000000)
0x00000000. Indique un fonctionnement normal. Une extension de menu contextuel, une extension d’espace de noms ou un gestionnaire de glisser-déplacer peut ajouter tous les éléments de menu.
CMF_DEFAULTONLY (0x00000001)
0x00000001. Cet indicateur est défini lorsque l’utilisateur active l’action par défaut, généralement en double-cliquant. Cet indicateur fournit un indicateur pour que l’extension de menu contextuel n’ajoute rien si elle ne modifie pas l’élément par défaut dans le menu. Une extension de menu contextuel ou un gestionnaire de glisser-déplacer ne doit pas ajouter d’éléments de menu si cette valeur est spécifiée. Une extension d’espace de noms doit ajouter uniquement l’élément par défaut (le cas échéant).
CMF_VERBSONLY (0x00000002)
0x00000002. Cet indicateur est défini si le menu contextuel est destiné à un objet de raccourci. Les gestionnaires de menu contextuel doivent ignorer cette valeur.
CMF_EXPLORE (0x00000004)
0x00000004. Cet indicateur est défini lorsque l’arborescence Windows Explorer est présente.
CMF_NOVERBS (0x00000008)
0x00000008. Cet indicateur est défini pour les éléments affichés dans le menu Envoyer à . Les gestionnaires de menu contextuel doivent ignorer cette valeur.
CMF_CANRENAME (0x00000010)
0x00000010. Cet indicateur est défini si l’application appelante prend en charge le renommage des éléments. Une extension de menu contextuel ou un gestionnaire de glisser-déplacer doit ignorer cet indicateur. Une extension d’espace de noms doit ajouter un élément de renommage au menu, le cas échéant.
CMF_NODEFAULT (0x00000020)
0x00000020. Cet indicateur est défini si aucun élément du menu n’a été défini comme élément par défaut. Un gestionnaire glisser-déplacer doit ignorer cet indicateur. Une extension d’espace de noms ne doit pas définir les éléments de menu sur la valeur par défaut.
CMF_INCLUDESTATIC (0x00000040)
Cette valeur n’est pas disponible.
Windows Server 2003 et Windows XP : 0x00000040. Cet indicateur est défini lorsqu’un menu statique est en cours de construction. Seul le navigateur doit utiliser cet indicateur. Toutes les autres extensions de menu contextuel doivent ignorer cet indicateur.
CMF_ITEMMENU (0x00000080)
0x00000080. Cet indicateur est défini lorsque l’application appelante appelle un menu contextuel sur un élément de la vue (par opposition à l’arrière-plan de l’affichage).
Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_EXTENDEDVERBS (0x00000100)
0x00000100. Cet indicateur est défini lorsque l’application appelante souhaite des verbes étendus. Les verbes normaux s’affichent lorsque l’utilisateur clique avec le bouton droit sur un objet. Pour afficher des verbes étendus, l’utilisateur doit cliquer avec le bouton droit tout en appuyant sur la touche Maj.
CMF_DISABLEDVERBS (0x00000200)
0x00000200. Cet indicateur est défini lorsque l’application appelante a l’intention d’appeler des verbes qui sont autrement désactivés, tels que les menus hérités.
Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_ASYNCVERBSTATE (0x00000400)
0x00000400. Cet indicateur est défini si l’état du verbe peut être évalué de manière asynchrone.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_OPTIMIZEFORINVOKE (0x00000800)
0x00000800. Informe les gestionnaires de menus contextuels qui ne prennent pas en charge l’appel d’un verbe par le biais d’un nom de verbe canonique pour contourner ce traitement dans leur implémentation IContextMenu::QueryContextMenu .
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_SYNCCASCADEMENU (0x00001000)
0x00001000.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_DONOTPICKDEFAULT (0x00002000)
0x00001000. Lorsqu’aucun verbe n’est explicitement spécifié, n’utilisez pas de verbe par défaut à sa place.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas disponible.
CMF_RESERVED (0xffff0000)
0xffff0000. Cet indicateur est un masque de bits qui spécifie tous les bits qui ne doivent pas être utilisés. Il doit être utilisé uniquement comme masque. Ne passez pas cette valeur en tant que valeur de paramètre.
[in] pt
Type : POINT
Emplacement où vous souhaitez que le menu contextuel s’affiche. Ce point spécifie l’emplacement du coin supérieur gauche du menu dans les coordonnées de l’écran.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Spécifications
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Aucun pris en charge |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (inclure Shobjidl.h) |
DLL | Shell32.dll (version 5.0 ou ultérieure) |