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 | Met à jour les ombres pour tous les menus contextuels ouverts. |
CMFCPopupMenu ::UpdateShadow | Met à 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
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 se trouve sur la 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 la légende du menu.
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
CMFCPopupMenu ::EnableMenuLogo
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 vérifie 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.
Valeur | 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. |
Se faner | 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
Met à 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
Met à 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.