Share via


CMFCPopupMenu, classe

Implémente les fonctionnalités de menu contextuel Windows et les étend en ajoutant des fonctionnalités telles que des menus volants et des info-bulles. Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

Syntaxe

class CMFCPopupMenu : public CMiniFrameWnd

Membres

Constructeurs protégés

Nom Description
CMFCPopupMenu ::CMFCPopupMenu Construit un objet CMFCPopupMenu.

Méthodes publiques

Nom Description
CMFCPopupMenu ::ActivatePopupMenu
CMFCPopupMenu ::AlwaysShowEmptyToolsEntry Définit si un menu contextuel est activé pour afficher des entrées vides pour les outils définis par l’utilisateur.
CMFCPopupMenu ::AreAllCommandsShown
CMFCPopupMenu ::CheckArea Détermine l’emplacement d’un point par rapport au menu contextuel.
CMFCPopupMenu ::CloseMenu
CMFCPopupMenu ::Create Crée un menu contextuel et l’attache à l’objet CMFCPopupMenu .
CMFCPopupMenu ::D efaultMouseClickOnClose
CMFCPopupMenu ::EnableMenuLogo Initialise le logo d’un menu contextuel.
CMFCPopupMenu ::EnableMenuSound Active le son du menu.
CMFCPopupMenu ::EnableResize
CMFCPopupMenu ::EnableScrolling
CMFCPopupMenu ::EnableVertResize
CMFCPopupMenu ::FindSubItemByCommand
CMFCPopupMenu ::GetActiveMenu Retourne le menu actif.
CMFCPopupMenu ::GetAnimationSpeed Retourne la vitesse d’animation pour les menus contextuels.
CMFCPopupMenu ::GetAnimationType Retourne le type actuel d’animation de menu contextuel.
CMFCPopupMenu ::GetDropDirection
CMFCPopupMenu ::GetForceMenuFocus Indique si le focus est retourné à la barre de menus lorsqu’un menu contextuel s’affiche.
CMFCPopupMenu ::GetForceShadow
CMFCPopupMenu ::GetHMenu Retourne un handle à la ressource de menu jointe.
CMFCPopupMenu ::GetMenuBar Renvoie le CMFCPopupMenuBar incorporé dans le menu contextuel.
CMFCPopupMenu ::GetMenuItem Retourne un pointeur vers l’élément de menu à l’index spécifié.
CMFCPopupMenu ::GetMenuItemCount Retourne le nombre d’éléments dans un menu contextuel.
CMFCPopupMenu ::GetMessageWnd Retourne un pointeur vers la fenêtre où l’infrastructure achemine les messages de menu contextuel.
CMFCPopupMenu ::GetParentArea
CMFCPopupMenu ::GetParentButton Retourne un pointeur vers le bouton de barre d’outils parent.
CMFCPopupMenu ::GetParentPopupMenu Retourne un pointeur vers le menu contextuel parent.
CMFCPopupMenu ::GetParentRibbonElement
CMFCPopupMenu ::GetParentToolBar Retourne un pointeur vers la barre d’outils parente.
CMFCPopupMenu ::GetQuickCustomizeType
CMFCPopupMenu ::GetSelItem Retourne un pointeur vers la commande de menu actuellement sélectionnée.
CMFCPopupMenu ::HasBeenResized
CMFCPopupMenu ::HideRarelyUsedCommands Indique si le menu contextuel peut masquer les commandes rarement utilisées.
CMFCPopupMenu ::InCommand
CMFCPopupMenu ::InsertItem Insère un nouvel élément dans le menu contextuel à l’emplacement spécifié.
CMFCPopupMenu ::InsertSeparator Insère un séparateur dans le menu contextuel à l’emplacement spécifié.
CMFCPopupMenu ::IsAlwaysClose
CMFCPopupMenu ::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu ::IsCustomizePane Indique si le menu contextuel fonctionne en tant que QuickCustomizePane.
CMFCPopupMenu ::IsEscClose
CMFCPopupMenu ::IsIdle Indique si un menu contextuel est actuellement inactif.
CMFCPopupMenu ::IsMenuSound
CMFCPopupMenu ::IsQuickCustomize Détermine si la classe CMFCToolBarMenuButton associée est en mode QuickCustomize.
CMFCPopupMenu ::IsResizeble
CMFCPopupMenu ::IsRightAlign Indique si le menu est aligné à droite ou aligné à gauche.
CMFCPopupMenu ::IsScrollable
CMFCPopupMenu ::IsSendMenuSelectMsg Indique si l’infrastructure avertit le cadre parent lorsque l’utilisateur sélectionne une commande dans le menu contextuel.
CMFCPopupMenu ::IsShown Indique si le menu contextuel est actuellement visible.
CMFCPopupMenu ::MoveTo
CMFCPopupMenu ::OnCmdMsg (Substitue CFrameWnd::OnCmdMsg.)
CMFCPopupMenu ::P ostCommand
CMFCPopupMenu ::P reTranslateMessage (Substitue CFrameWnd::PreTranslateMessage.)
CMFCPopupMenu ::RecalcLayout Appelé par l’infrastructure lorsque les barres de contrôle standard sont activées ou désactivées ou lorsque la fenêtre frame est redimensionnée. (Remplacements CFrameWnd ::RecalcLayout.)
CMFCPopupMenu ::RemoveAllItems Efface tous les éléments d’un menu contextuel.
CMFCPopupMenu ::RemoveItem Supprime l’élément spécifié d’un menu contextuel.
CMFCPopupMenu ::SaveState
CMFCPopupMenu ::SetAnimationSpeed Définit la vitesse d’animation pour les menus contextuels.
CMFCPopupMenu ::SetAnimationType Définit le type d’animation du menu contextuel.
CMFCPopupMenu ::SetAutoDestroy
CMFCPopupMenu ::SetDefaultItem Définit la commande par défaut pour le menu contextuel.
CMFCPopupMenu ::SetForceMenuFocus Force le focus d’entrée à revenir à la barre de menus lorsqu’un menu contextuel s’affiche.
CMFCPopupMenu ::SetForceShadow Force l’infrastructure à dessiner des ombres de menu lorsque des menus contextuels apparaissent en dehors du cadre principal.
CMFCPopupMenu ::SetMaxWidth Définissez la largeur maximale du menu contextuel.
CMFCPopupMenu ::SetMessageWnd
CMFCPopupMenu ::SetParentRibbonElement
CMFCPopupMenu ::SetQuickCustomizeType
CMFCPopupMenu ::SetQuickMode
CMFCPopupMenu ::SetRightAlign Définit l’alignement du menu pour les menus contextuels.
CMFCPopupMenu ::SetSendMenuSelectMsg Définit un indicateur qui contrôle si le menu contextuel notifie son cadre parent lorsque l’utilisateur sélectionne une commande.
CMFCPopupMenu ::ShowAllCommands Force le menu contextuel à afficher toutes les commandes.
CMFCPopupMenu ::TriggerResize
CMFCPopupMenu ::UpdateAllShadows Mises à jour les ombres pour tous les menus contextuels ouverts.
CMFCPopupMenu ::UpdateShadow Mises à jour l’ombre du menu contextuel.

Méthodes protégées

Nom Description
CMFCPopupMenu ::CreateTearOffBar
CMFCPopupMenu ::OnChangeHot
CMFCPopupMenu ::OnChooseItem

Notes

Normalement, MFC crée automatiquement des menus contextuels. Si vous souhaitez créer un objet manuellement, allouez-en un CMFCPopupMenu sur le tas, puis appelez CMFCPopupMenu ::Create.

Exemple

L’exemple suivant montre comment configurer un objet de menu contextuel. L’exemple montre comment définir le logo et le son du menu contextuel, définir la vitesse et le type d’animation, dessiner des ombres de menu lorsque le menu contextuel apparaît en dehors du cadre principal, définir la largeur maximale et définir l’alignement du menu contextuel du menu contextuel. Cet extrait de code fait partie de l’exemple Pages personnalisées.

// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCPopupMenu

Spécifications

En-tête : afxpopupmenu.h

CMFCPopupMenu ::ActivatePopupMenu

static BOOL __stdcall ActivatePopupMenu(
    CFrameWnd* pTopFrame,
    CMFCPopupMenu* pPopupMenu);

Paramètres

[in] pTopFrame
[in] pPopupMenu

Valeur de retour

Notes

CMFCPopupMenu ::AlwaysShowEmptyToolsEntry

Définit si un menu contextuel est activé pour afficher des entrées vides pour les outils définis par l’utilisateur.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

Paramètres

bShow
[in] TRUE si le menu contextuel peut afficher des entrées vides ; FALSE dans le cas contraire.

CMFCPopupMenu ::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Valeur de retour

Notes

CMFCPopupMenu ::CheckArea

Détermine l’emplacement d’un point par rapport au menu contextuel.

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

Paramètres

ptScreen
[in] Point, en coordonnées d’écran.

Valeur de retour

Paramètre MENUAREA_TYPE qui indique où le point est relatif au menu contextuel.

Notes

Un paramètre MENUAREA_TYPE peut avoir l’une des valeurs suivantes.

  • OUTSIDE - ptScreen est en dehors du menu contextuel.

  • LOGO - ptScreen se trouve sur une zone de logo.

  • TEAROFF_CAPTION - ptScreen est sur le légende de déchirure.

  • SHADOW_BOTTOM - ptScreen se trouve sur l’ombre inférieure du menu contextuel.

  • SHADOW_RIGHT - ptScreen se trouve sur l’ombre droite du menu contextuel.

  • MENU - ptScreen est sur une commande.

CMFCPopupMenu ::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

Paramètres

[in] bSetFocusToBar

Notes

CMFCPopupMenu ::CMFCPopupMenu

Construit un objet CMFCPopupMenu .

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

Paramètres

pCustPage
[in] Pointeur vers une page de personnalisation.

lpszTitle
[in] Chaîne qui contient le menu légende.

Notes

Cette méthode alloue les ressources pour un CMFCPopupMenu. Pour créer l’élément de menu contextuel, appelez CMFCPopupMenu ::Create.

CMFCPopupMenu ::Create

Crée un menu contextuel et l’attache à un objet CMFCPopupMenu .

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    HMENU hMenu,
    BOOL bLocked = FALSE,
    BOOL bOwnMessage = FALSE);

Paramètres

pWndParent
[in] Fenêtre parente pour le CMFCPopupMenu.

x
[in] Coordonnée horizontale de l’écran pour l’emplacement du menu contextuel

y
[in] Coordonnée verticale de l’écran pour l’emplacement du menu contextuel.

hMenu
[in] Handle vers une ressource de menu.

Bloqué
[in] Paramètre booléen qui indique si le menu est personnalisable. FALSE indique que le menu contextuel est personnalisable.

bOwnMessage
[in] Paramètre booléen qui indique comment l’infrastructure achemine les messages de menu. Pour plus d’informations, consultez la section Notes.

Valeur de retour

TRUE si la méthode réussit ; sinon FALSE.

Notes

Si bOwnMessage a la valeur TRUE, l’infrastructure route tous les messages de menu vers pWndParent. pWndParent ne doit pas être NULL si bOwnMessage a la valeur TRUE. Si bOwnMessage a la valeur FALSE, l’infrastructure route les messages de menu vers le menu contextuel parent.

Exemple

L’exemple suivant montre comment utiliser la Create méthode de la CMFCPopuMenu classe. Cet extrait de code fait partie de l’exemple Pages personnalisées.

CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());

CMFCPopupMenu ::CreateTearOffBar

virtual CPane* CreateTearOffBar(
    CFrameWnd* pWndMain,
    UINT uiID,
    LPCTSTR lpszName);

Paramètres

[in] pWndMain
[in] uiID
[in] lpszName

Valeur de retour

Notes

CMFCPopupMenu ::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Valeur de retour

Notes

Initialise le logo d’un menu contextuel.

void EnableMenuLogo(
    int iLogoSize,
    LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);

Paramètres

iLogoSize
[in] Taille du logo, en pixels.

nLogoLocation
[in] Type de données énuméré qui indique l’emplacement du logo.

Notes

Pour afficher le logo, implémentez la méthode CFrameWndEx ::OnDrawMenuLogo dans la fenêtre de cadre principale.

Les valeurs possibles pour nLogoLocation sont MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP et MENU_LOGO_BOTTOM.

CMFCPopupMenu ::EnableMenuSound

Active le son du menu.

static void EnableMenuSound(BOOL bEnable = TRUE);

Paramètres

bEnable
[in] TRUE pour activer le son, FALSE sinon.

Notes

Si vous activez le son, l’infrastructure appelle la méthode PlaySound lorsqu’un utilisateur ouvre un menu contextuel ou sélectionne une commande de menu. Cette fonctionnalité est activée par défaut.

CMFCPopupMenu ::EnableResize

void EnableResize(CSize sizeMinResize);

Paramètres

[in] sizeMinResize

Notes

CMFCPopupMenu ::EnableScrolling

void EnableScrolling(BOOL = TRUE);

Paramètres

[in] BOOL

Notes

CMFCPopupMenu ::EnableVertResize

void EnableVertResize(int nMinResize);

Paramètres

[in] nMinResize

Notes

CMFCPopupMenu ::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

Paramètres

[in] uiCmd

Valeur de retour

Notes

CMFCPopupMenu ::GetActiveMenu

Retourne le menu actif.

static CMFCPopupMenu* GetActiveMenu();

Valeur de retour

Pointeur vers le menu contextuel actif ou NULL si aucun menu contextuel n’est actuellement actif.

Notes

Chaque application peut avoir au plus un menu contextuel actif.

CMFCPopupMenu ::GetAnimationSpeed

Retourne la vitesse d’animation pour les menus contextuels.

static UINT GetAnimationSpeed();

Valeur de retour

Entier qui indique l’heure, en millisecondes, qu’une animation de menu contextuel prend pour se terminer.

Notes

La vitesse d’animation est une valeur globale. Utilisez CMFCPopupMenu ::SetAnimationSpeed pour modifier la vitesse d’animation des menus contextuels.

CMFCPopupMenu ::GetAnimationType

Retourne le type actuel d’animation contextuelle.

static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);

Paramètres

bNoSystem
[in] Paramètre booléen qui indique si cette méthode case activée la valeur globale. FALSE si vous souhaitez que cette méthode retourne le style d’animation de cette instance de la classe CMFCPopupMenu.

Valeur de retour

Valeur énumérée qui décrit le type d’animation.

Notes

Le style d’animation pour les menus contextuels est global pour votre application. Utilisez CMFCPopupMenu ::SetAnimationType pour définir le style d’animation.

Le tableau suivant répertorie les types d’animation possibles.

Value Description
NO_ANIMATION Le menu contextuel n’est pas animé et apparaît immédiatement.
DÉPLIER L’infrastructure affiche le menu contextuel de l’angle supérieur gauche vers le coin inférieur droit.
DIAPOSITIVE Le menu contextuel passe du haut au bas.
FONDU Le menu contextuel apparaît d’abord transparent et se solidifie progressivement.

CMFCPopupMenu ::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Valeur de retour

Notes

CMFCPopupMenu ::GetForceMenuFocus

Indique si le focus est retourné à la barre de menus lorsqu’un menu contextuel s’affiche.

static BOOL GetForceMenuFocus();

Valeur de retour

TRUE si le focus d’entrée est retourné à la barre de menus lorsqu’un menu contextuel s’affiche ; FALSE si le menu contextuel conserve le focus.

Notes

Par défaut, votre application ne retourne pas le focus sur la barre de menus. Pour modifier ce paramètre, utilisez CMFCPopupMenu ::SetForceMenuFocus.

CMFCPopupMenu ::GetForceShadow

static BOOL __stdcall GetForceShadow();

Valeur de retour

Notes

CMFCPopupMenu ::GetHMenu

Retourne un handle à la ressource de menu jointe.

HMENU GetHMenu();

CMFCPopupMenu ::GetMenuBar

Renvoie le CMFCPopupMenuBar incorporé dans le menu contextuel.

virtual CMFCPopupMenuBar* GetMenuBar();

Valeur de retour

Pointeur vers l’élément incorporé CMFCPopupMenuBar.

Notes

Le menu contextuel comporte un objet incorporé CMFCPopupMenuBar . Vous devez remplacer cette méthode dans une classe dérivée si vous utilisez une autre classe incorporée.

CMFCPopupMenu ::GetMenuItem

Retourne un pointeur vers l’élément de menu à l’index spécifié.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

Paramètres

iIndex
[in] Index de base zéro d’un élément de menu.

Valeur de retour

Pointeur vers un élément de menu. NULL si l’index n’est pas valide.

Notes

Les éléments de menu sont représentés par la classe CMFCToolBarMenuButton. Lorsque vous appelez cette méthode, elle retourne un pointeur vers le fichier approprié CMFCToolBarMenuButton.

CMFCPopupMenu ::GetMenuItemCount

Retourne le nombre d’éléments dans un menu contextuel.

int GetMenuItemCount() const;

Valeur de retour

Nombre d’éléments dans le menu.

CMFCPopupMenu ::GetMessageWnd

Retourne un pointeur vers la fenêtre où l’infrastructure achemine les messages de menu contextuel.

CWnd* GetMessageWnd() const;

Valeur de retour

Pointeur vers la fenêtre qui reçoit les messages de menu contextuel ; NULL s’il n’existe aucune fenêtre.

Notes

Lorsque vous utilisez la méthode CMFCPopupMenu ::Create pour créer un menu contextuel, vous spécifiez la fenêtre qui reçoit les messages de menu.

CMFCPopupMenu ::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

Paramètres

[in] rectParentBtn

Valeur de retour

Notes

CMFCPopupMenu ::GetParentButton

Retourne un pointeur vers le bouton de barre d’outils parent.

CMFCToolBarMenuButton* GetParentButton() const;

Valeur de retour

Pointeur vers le bouton de barre d’outils parent. NULL si le menu contextuel n’a pas de bouton de barre d’outils parent.

Notes

Un CMFCPopupMenu bouton peut être associé à un bouton dans le menu. Dans ce scénario, le menu contextuel s’affiche lorsqu’un utilisateur sélectionne le bouton de barre d’outils parent.

Si le menu contextuel est un menu contextuel, il n’aura aucun bouton de barre d’outils parent.

CMFCPopupMenu ::GetParentPopupMenu

Retourne un pointeur vers le menu contextuel parent.

CMFCPopupMenu* GetParentPopupMenu() const;

Valeur de retour

Pointeur vers l’objet parent CMFCPopupMenu ; NULL s’il n’existe aucun menu contextuel parent.

Notes

Un menu contextuel comporte un objet parent CMFCPopupMenu uniquement s’il s’agit d’un sous-menu.

CMFCPopupMenu ::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Valeur de retour

Notes

CMFCPopupMenu ::GetParentToolBar

Retourne un pointeur vers la barre d’outils parente.

CMFCToolBar* GetParentToolBar() const;

Valeur de retour

Pointeur vers la barre d’outils parente. NULL si le menu contextuel n’a aucune barre d’outils parente.

Notes

CMFCPopupMenu S’il s’agit d’un menu contextuel, il n’a aucune barre d’outils parente.

CMFCPopupMenu ::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Valeur de retour

Notes

CMFCPopupMenu ::GetSelItem

Retourne un pointeur vers la commande de menu actuellement sélectionnée.

CMFCToolBarMenuButton* GetSelItem();

Valeur de retour

Pointeur vers la commande de menu actuellement sélectionnée ; NULL si aucun élément n’est sélectionné.

Notes

Les commandes de menu dans un menu contextuel sont représentées par la classe CMFCToolBarMenuButton ou par une classe dérivée de CMFCToolBarMenuButton.

CMFCPopupMenu ::HasBeenResized

BOOL HasBeenResized() const;

Valeur de retour

Notes

CMFCPopupMenu ::HideRarelyUsedCommands

Indique si le menu contextuel peut masquer les commandes rarement utilisées.

BOOL HideRarelyUsedCommands() const;

Valeur de retour

TRUE si le menu contextuel peut masquer les commandes rarement utilisées ; sinon FALSE.

Notes

Cette méthode spécifie uniquement si un menu contextuel peut masquer les commandes rarement utilisées, et non si cette configuration est activée. Un menu contextuel peut masquer les commandes rarement utilisées si elle a un bouton parent et que la fenêtre parente est dérivée de la classe CMFCMenuBar. Utilisez CMFCMenuBar ::SetRecentlyUsedMenus pour activer cette fonctionnalité et CMFCMenuBar ::IsRecentlyUsedMenus pour déterminer si cette fonctionnalité est actuellement activée. Vous devez appeler ces deux méthodes pour la fenêtre parente.

CMFCPopupMenu ::InCommand

virtual BOOL InCommand();

Valeur de retour

Notes

CMFCPopupMenu ::InsertItem

Insère un nouvel élément dans le menu contextuel à l’emplacement spécifié.

int InsertItem(
    const CMFCToolBarMenuButton& button,
    int iInsertA = -1);

Paramètres

bouton
[in] Référence à l’élément de menu à ajouter.

iInsertAt
[in] Index de base zéro pour le nouvel élément. Si iInsertAt est -1, l’élément est ajouté à la fin du menu.

Valeur de retour

Index de base zéro de la position où l’élément a été inséré. -1 si la méthode échoue.

Notes

Cette méthode échoue si vous fournissez une valeur non valide pour iInsertAt, telle qu’un entier supérieur au nombre d’éléments actuellement présents dans le menu contextuel.

CMFCPopupMenu ::InsertSeparator

Insère un séparateur dans le menu contextuel à l’emplacement spécifié.

int InsertSeparator(int iInsertAt = -1);

Paramètres

iInsertAt
[in] Index de base zéro de la position où cette méthode insère le séparateur.

Valeur de retour

Index de base zéro de la position où le séparateur a été inséré. -1 si cette méthode échoue.

Notes

La valeur -1 pour iInsertAt signifie que cette méthode ajoute le séparateur à la fin du menu contextuel.

Cette méthode échoue si iInsertAt est une valeur non valide.

CMFCPopupMenu ::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

Valeur de retour

Notes

CMFCPopupMenu ::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Valeur de retour

Notes

CMFCPopupMenu ::IsCustomizePane

Indique si le menu contextuel fonctionne en tant que QuickCustomizePane.

BOOL IsCustomizePane();

Valeur de retour

TRUE si la fenêtre contextuelle est un QuckCustomizePane ; sinon FALSE.

Notes

Utilisez QuickCustomizePane pour permettre à l’utilisateur de personnaliser directement le menu contextuel. QuickCustomizePane est un CMFCPopupMenu élément qui s’affiche lorsque l’utilisateur clique sur un bouton de barre d’outils pour le modifier directement.

Votre application doit appeler cette méthode pendant CMDIFrameWndEx ::OnShowCustomizePane.

CMFCPopupMenu ::IsEscClose

BOOL IsEscClose();

Valeur de retour

Notes

CMFCPopupMenu ::IsIdle

Indique si un menu contextuel est actuellement inactif.

virtual BOOL IsIdle() const;

Valeur de retour

TRUE si le menu contextuel est en mode inactif ; sinon FALSE.

Notes

Par défaut, un menu contextuel est en mode inactif si l’animation d’affichage est terminée et que l’utilisateur ne fait pas défiler le menu contextuel.

CMFCPopupMenu ::IsMenuSound

static UINT __stdcall IsMenuSound();

Valeur de retour

Notes

CMFCPopupMenu ::IsQuickCustomize

Détermine si la classe CMFCToolBarMenuButton associée est en mode QuickCustomize.

BOOL IsQuickCustomize();

Valeur de retour

TRUE si le bouton de menu associé est en mode QuickCustomize ; sinon FALSE. Cette méthode retourne également FALSE si le menu contextuel n’est pas associé à un CMFCToolBarMenuButton.

Notes

En mode QuickCustomize, l’utilisateur sélectionne un bouton dans une barre d’outils pour personnaliser le bouton directement.

CMFCPopupMenu ::IsResizeble

BOOL IsResizeble() const;

Valeur de retour

Notes

CMFCPopupMenu ::IsRightAlign

Indique si le menu est aligné à droite ou aligné à gauche.

BOOL IsRightAlign() const;

Valeur de retour

TRUE si le menu est aligné à droite ; FALSE si le menu est aligné à gauche.

Notes

Vous pouvez utiliser CMFCPopupMenu ::SetRightAlign pour définir l’alignement du menu. Par défaut, les menus contextuels utilisent l’alignement gauche.

L’alignement du menu n’est pas un paramètre global et peut varier entre les menus contextuels.

CMFCPopupMenu ::IsScrollable

BOOL IsScrollable() const;

Valeur de retour

Notes

CMFCPopupMenu ::IsSendMenuSelectMsg

Indique si l’infrastructure avertit le cadre parent lorsque l’utilisateur sélectionne une commande dans le menu contextuel.

static BOOL IsSendMenuSelectMsg();

Valeur de retour

TRUE si l’infrastructure avertit l’image parente ; sinon FALSE.

Notes

L’infrastructure avertit l’image parente en l’envoyant le message WM_MENUSELECT lorsqu’une application utilisée sélectionne une commande de menu.

CMFCPopupMenu ::IsShown

Indique si le menu contextuel est actuellement visible.

BOOL IsShown() const;

Valeur de retour

TRUE si un menu contextuel est visible ; sinon FALSE.

CMFCPopupMenu ::MoveTo

void MoveTo(const CPoint& pt);

Paramètres

[in] Pt

Notes

CMFCPopupMenu ::OnChangeHot

virtual void OnChangeHot(int nHot);

Paramètres

[in] nHot

Notes

CMFCPopupMenu ::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

Paramètres

[in] uidCmdID

Notes

CMFCPopupMenu ::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Paramètres

[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo

Valeur de retour

Notes

CMFCPopupMenu ::P ostCommand

BOOL PostCommand(UINT uiCommandID);

Paramètres

[in] uiCommandID

Valeur de retour

Notes

CMFCPopupMenu ::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paramètres

[in] pMsg

Valeur de retour

Notes

CMFCPopupMenu ::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Paramètres

[in] bNotify

Notes

CMFCPopupMenu ::RemoveAllItems

Efface tous les éléments d’un menu contextuel.

void RemoveAllItems();

CMFCPopupMenu ::RemoveItem

Supprime l’élément spécifié du menu contextuel.

BOOL RemoveItem(int iIndex);

Paramètres

iIndex
[in] Index de base zéro de l’élément à supprimer.

Valeur de retour

TRUE si la méthode réussit ; sinon FALSE.

Notes

Cette méthode organise automatiquement les séparateurs affectés par la suppression d’un élément. Pour plus d’informations sur la façon dont le framework réorganise les séparateurs, consultez CMFCToolBar ::RemoveButton.

CMFCPopupMenu ::SaveState

virtual void SaveState();

Notes

CMFCPopupMenu ::SetAnimationSpeed

Définit la vitesse d’animation pour les menus contextuels.

static void SetAnimationSpeed(UINT nElapse);

Paramètres

nElapse
[in] Nouvelle vitesse d’animation, en millisecondes.

Notes

La vitesse d’animation est une valeur globale et affecte tous les menus contextuels dans l’application. Cette valeur spécifie le temps nécessaire à l’animation pour qu’un menu contextuel se termine.

Par défaut, ce paramètre est défini sur 30 millisecondes. La plage de valeurs valides pour nElapse est comprise entre 0 et 200.

CMFCPopupMenu ::SetAnimationType

Définit le type d’animation pour ce menu contextuel.

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Paramètres

type
[in] Type de données énuméré qui spécifie le type d’animation.

Notes

Consultez CMFCPopupMenu ::GetAnimationType pour obtenir la liste des valeurs valides pour le type.

CMFCPopupMenu ::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Paramètres

[in] bAutoDestroy

Notes

CMFCPopupMenu ::SetDefaultItem

Définit la commande par défaut pour le menu contextuel.

void SetDefaultItem(UINT uiCmd);

Paramètres

uiCmd
[in] ID de commande de menu de la nouvelle commande par défaut.

Notes

La commande par défaut dans le menu contextuel est la commande sélectionnée lorsque le menu contextuel s’affiche.

CMFCPopupMenu ::SetForceMenuFocus

Force le focus d’entrée à revenir à la barre de menus lorsqu’un menu contextuel s’affiche.

static void SetForceMenuFocus(BOOL bValue);

Paramètres

bValue
[in] TRUE si vous souhaitez que l’infrastructure force le focus d’entrée dans la barre de menus lorsqu’un menu contextuel s’affiche. FALSE si vous souhaitez que le menu contextuel conserve le focus.

Notes

Cette méthode définit un indicateur global pour tous les menus contextuels de l’application. Par défaut, cette fonctionnalité n’est pas activée.

CMFCPopupMenu ::SetForceShadow

Force l’infrastructure à dessiner des ombres de menu lorsque des menus contextuels apparaissent en dehors du cadre principal.

static void SetForceShadow(BOOL bValue);

Paramètres

bValue
[in] TRUE si vous souhaitez que l’infrastructure dessine des ombres de menu, FALSE sinon.

Notes

Lorsque vous appelez cette méthode, elle définit un indicateur global dans votre application. Cet indicateur affecte tous les menus contextuels de votre application.

CMFCPopupMenu ::SetMaxWidth

Définissez la largeur maximale du menu contextuel.

void SetMaxWidth(int iMaxWidth);

Paramètres

iMaxWidth
[in] Largeur maximale du menu contextuel, en pixels.

Notes

Si le texte associé à une commande de menu ne correspond pas à la largeur maximale, il est tronqué et la partie qui ne convient pas est remplacée par trois points.

CMFCPopupMenu ::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

Paramètres

[in] pMsgWnd

Notes

CMFCPopupMenu ::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

Paramètres

[in] pElem

Notes

CMFCPopupMenu ::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

Paramètres

[in] Type

Notes

CMFCPopupMenu ::SetQuickMode

void SetQuickMode();

Notes

CMFCPopupMenu ::SetRightAlign

Définit l’alignement du menu pour les menus contextuels.

void SetRightAlign(BOOL bRightAlign = TRUE);

Paramètres

bRightAlign
[in] Valeur booléenne qui indique l’alignement du menu. TRUE indique l’alignement droit, FALSE indique l’alignement gauche.

Notes

Par défaut, tous les menus contextuels sont alignés à gauche.

CMFCPopupMenu ::SetSendMenuSelectMsg

Définit un indicateur qui contrôle si le menu contextuel notifie son cadre parent lorsque l’utilisateur sélectionne une commande.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

Paramètres

bSet
[in] TRUE si le menu contextuel avertit son cadre parent, FALSE sinon.

Notes

Il s’agit d’une option globale pour tous les menus contextuels d’une application. S’il est activé, les menus contextuels envoient un message WM_MENUSELECT au cadre parent lorsque l’utilisateur sélectionne une commande.

CMFCPopupMenu ::ShowAllCommands

Force le menu contextuel à afficher toutes les commandes.

void ShowAllCommands();

Notes

Ce paramètre n’est pas global et affecte uniquement le menu contextuel actuel.

CMFCPopupMenu ::TriggerResize

void TriggerResize();

Notes

CMFCPopupMenu ::UpdateAllShadows

Mises à jour les ombres pour tous les menus contextuels ouverts.

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

Paramètres

lprectScreen
[in] Rectangle qui spécifie la région à mettre à jour, en coordonnées d’écran.

Notes

Cette méthode est utile lorsque des menus contextuels sont affichés sur des contrôles animés ou d’autres fenêtres qui ont du contenu dynamique.

CMFCPopupMenu ::UpdateShadow

Mises à jour l’ombre du menu contextuel.

void UpdateShadow(LPRECT lprectScreen = NULL);

Paramètres

lprectScreen
[in] Rectangle, en coordonnées d’écran, qui spécifie les limites de la région à mettre à jour.

Notes

Appelez cette méthode lorsqu’un menu contextuel qui a une ombre chevauche une image animée.

Voir aussi

Graphique hiérarchique
Classes
CMFCPopupMenuBar, classe