Partager via


CMFCToolBarMenuButton, classe

Bouton de barre d'outils qui contient un menu contextuel. Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

Syntaxe

class CMFCToolBarMenuButton : public CMFCToolBarButton

Membres

Constructeurs publics

Nom Description
CMFCToolBarMenuButton ::CMFCToolBarMenuButton Construit un objet CMFCToolBarMenuButton.

Méthodes publiques

Nom Description
CMFCToolBarMenuButton ::CompareWith Compare cette instance à l’objet fourni CMFCToolBarButton . (Remplacements CMFCToolBarButton ::CompareWith.)
CMFCToolBarMenuButton ::CopyFrom Copie les propriétés d’un autre bouton de barre d’outils vers le bouton actif. (Remplacements CMFCToolBarButton ::CopyFrom.)
CMFCToolBarMenuButton ::CreateFromMenu Initialise le menu de la barre d’outils à partir d’un handle de menu Windows.
CMFCToolBarMenuButton ::CreateMenu Crée un menu Windows qui se compose des commandes dans le menu de la barre d’outils. Retourne un handle dans le menu Windows.
CMFCToolBarMenuButton ::CreatePopupMenu Crée un objet de menu contextuel ( classe CMFCPopupMenu) pour afficher le menu de la barre d’outils.
CMFCToolBarMenuButton ::EnableQuickCustomize
CMFCToolBarMenuButton ::GetCommands Donne un accès en lecture seule à la liste des commandes dans le menu de la barre d’outils.
CMFCToolBarMenuButton ::GetImageRect Récupère le rectangle englobant de l’image de bouton.
CMFCToolBarMenuButton ::GetPaletteRows Retourne le nombre de lignes dans le menu contextuel lorsque le menu est en mode palette.
CMFCToolBarMenuButton ::GetPopupMenu Retourne un pointeur vers l’objet de menu contextuel associé au bouton.
CMFCToolBarMenuButton ::HasButton
CMFCToolBarMenuButton ::HaveHotBorder Détermine si une bordure du bouton s’affiche lorsqu’un utilisateur sélectionne le bouton. (Remplacements CMFCToolBarButton ::HaveHotBorder.)
CMFCToolBarMenuButton ::IsBorder
CMFCToolBarMenuButton ::IsClickedOnMenu
CMFCToolBarMenuButton ::IsDroppedDown Détermine si le menu contextuel s’affiche.
CMFCToolBarMenuButton ::IsEmptyMenuAllowed Appelé par l’infrastructure pour déterminer si un utilisateur peut ouvrir un sous-menu à partir de l’élément de menu sélectionné.
CMFCToolBarMenuButton ::IsExclusive Détermine si le bouton est en mode exclusif, autrement dit, si le menu contextuel reste ouvert même lorsque l’utilisateur déplace le pointeur sur une autre barre d’outils ou un autre bouton.
CMFCToolBarMenuButton ::IsMenuPaletteMode Détermine si le menu contextuel est en mode palette.
CMFCToolBarMenuButton ::IsQuickMode
CMFCToolBarMenuButton ::IsTearOffMenu Détermine si le menu contextuel comporte une barre de déchirure.
CMFCToolBarMenuButton ::OnAfterCreatePopupMenu
CMFCToolBarMenuButton ::OnBeforeDrag Spécifie si le bouton peut être déplacé. (Remplacements CMFCToolBarButton ::OnBeforeDrag.)
CMFCToolBarMenuButton ::OnCalculateSize Appelé par l’infrastructure pour calculer la taille du bouton pour le contexte de l’appareil spécifié et l’état d’ancrage. (Remplacements CMFCToolBarButton ::OnCalculateSize.)
CMFCToolBarMenuButton ::OnCancelMode Appelé par l’infrastructure pour gérer le message WM_CANCELMODE . (Remplacements CMFCToolBarButton ::OnCancelMode.)
CMFCToolBarMenuButton ::OnChangeParentWnd Appelé par l’infrastructure lorsque le bouton est inséré dans une nouvelle barre d’outils. (Remplacements CMFCToolBarButton ::OnChangeParentWnd.)
CMFCToolBarMenuButton ::OnClick Appelé par l’infrastructure lorsque l’utilisateur clique sur le bouton de la souris. (Remplacements CMFCToolBarButton ::OnClick.)
CMFCToolBarMenuButton ::OnClickMenuItem Appelé par l’infrastructure lorsque l’utilisateur sélectionne un élément dans le menu contextuel.
CMFCToolBarMenuButton ::OnContextHelp Appelé par l’infrastructure lorsque la barre d’outils parent gère un message WM_HELPHITTEST. (Remplacements CMFCToolBarButton ::OnContextHelp.)
CMFCToolBarMenuButton ::OnDraw Appelé par l’infrastructure pour dessiner le bouton à l’aide des styles et options spécifiés. (Remplacements CMFCToolBarButton ::OnDraw.)
CMFCToolBarMenuButton ::OnDrawOnCustomizeList Appelé par l’infrastructure pour dessiner le bouton dans le volet Commandes de la boîte de dialogue Personnaliser . (Remplacements CMFCToolBarButton ::OnDrawOnCustomizeList.)
CMFCToolBarMenuButton ::OpenPopupMenu Appelé par l’infrastructure lorsque l’utilisateur ouvre le menu contextuel.
CMFCToolBarMenuButton ::ResetImageToDefault Définit la valeur par défaut de l’image associée au bouton. (Remplacements CMFCToolBarButton ::ResetImageToDefault.)
CMFCToolBarMenuButton ::SaveBarState Enregistre l’état du bouton de barre d’outils. (Remplacements CMFCToolBarButton ::SaveBarState.)
CMFCToolBarMenuButton ::Serialize Lit cet objet à partir d’une archive ou l’écrit dans une archive. (Remplacements CMFCToolBarButton ::Serialize.)
CMFCToolBarMenuButton ::SetACCData Remplit l’objet fourni CAccessibilityData avec des données d’accessibilité à partir du bouton de barre d’outils. (Remplacements CMFCToolBarButton ::SetACCData.)
CMFCToolBarMenuButton ::SetMenuOnly Spécifie si le bouton peut être ajouté à une barre d’outils.
CMFCToolBarMenuButton ::SetMenuPaletteMode Spécifie si le menu contextuel est en mode palette.
CMFCToolBarMenuButton ::SetMessageWnd
CMFCToolBarMenuButton ::SetRadio Force le bouton de menu de la barre d’outils à afficher une icône indiquant qu’il est sélectionné.
CMFCToolBarMenuButton ::SetTearOff Spécifie un ID de barre de déchirure pour le menu contextuel.

Méthodes protégées

Nom Description
CMFCToolBarMenuButton ::D rawDocumentIcon Dessine une icône sur le bouton de menu.

Données membres

Nom Description
CMFCToolBarMenuButton ::m_bAlwaysCallOwnerDraw Si la valeur est TRUE, l’infrastructure appelle toujours CFrameWndEx ::OnDrawMenuImage lorsqu’un bouton est dessiné.

Notes

Un CMFCToolBarMenuButton peut apparaître sous la forme d’un menu, d’un élément de menu doté d’un sous-menu, d’un bouton qui exécute une commande ou d’un menu ou d’un bouton qui affiche uniquement un menu. Vous déterminez le comportement et l’apparence du bouton de menu en spécifiant des paramètres tels que l’image, le texte, le handle de menu et l’ID de commande associé au bouton dans le constructeur CMFCToolbarMenuButton::CMFCToolbarMenuButton.

Une classe personnalisée dérivée de la CMFCToolbarMenuButton classe doit utiliser la macro DECLARE_SERIAL . La macro DECLARE_DYNCREATE génère une erreur lorsque l’application se ferme.

Exemple

L’exemple suivant montre comment configurer un CMFCToolBarMenuButton objet. Le code montre comment spécifier que le menu déroulant est en mode palette et spécifier l’ID de la barre de déchirure créée lorsque l’utilisateur fait glisser le bouton de menu hors d’une barre de menus. Cet extrait de code fait partie de l’ exemple Word Pad.

pBorderType->SetMenuPaletteMode(TRUE, 2 /* Rows number */);
pBorderType->SetTearOff(ID_BORDER_TEAROFF);

Hiérarchie d'héritage

CObject

CMFCToolBarButton

CMFCToolBarMenuButton

Spécifications

En-tête : afxtoolbarmenubutton.h

CMFCToolBarMenuButton ::CMFCToolBarMenuButton

Construit un objet CMFCToolBarMenuButton.

CMFCToolBarMenuButton();
CMFCToolBarMenuButton(const CMFCToolBarMenuButton& src);

CMFCToolBarMenuButton(
    UINT uiID,
    HMENU hMenu,
    int iImage,
    LPCTSTR lpszText=NULL,
    BOOL bUserButton=FALSE);

Paramètres

src
[in] Objet existant CMFCToolBarMenuButton à copier dans cet CMFCToolBarMenuButton objet.

uiID
[in] ID de la commande à exécuter lorsqu’un utilisateur clique sur le bouton ; ou (UINT)-1 pour un bouton de menu qui n’exécute pas directement une commande.

hMenu
[in] Handle vers un menu ; ou NULL si le bouton n’a pas de menu.

iImage
[in] Index de l’image pour le bouton ; ou -1 si ce bouton n’a pas d’icône ou utilise l’icône pour la commande spécifiée par uiID. L’index est le même pour chaque CMFCToolBarImages objet de votre application.

lpszText
[in] Texte du bouton du menu de la barre d’outils.

bUserButton
[in] TRUE si le bouton affiche une image définie par l’utilisateur ; FALSE si le bouton affiche une image prédéfinie associée à la commande spécifiée par uiID.

Notes

Si uiID est un ID de commande valide, le bouton effectue cette commande lorsque l’utilisateur clique dessus. Si hMenu est une poignée de menu valide, le bouton fournit un menu déroulant lorsqu’il apparaît dans une barre d’outils ou un sous-menu lorsqu’il apparaît dans un menu. Si uiID et hMenu sont valides, le bouton est un bouton fractionné avec une partie qui effectuera la commande lorsque l’utilisateur clique dessus et une partie avec une flèche vers le bas qui déposera un menu lorsque l’utilisateur clique dessus. Toutefois, si hMenu est valide, un utilisateur ne peut pas cliquer sur le bouton pour exécuter une commande lorsque le bouton est inséré dans un menu.

Exemple

L’exemple suivant montre comment construire un objet de la CMFCToolBarMenuButton classe. Cet extrait de code fait partie de l’ exemple Word Pad.

CMFCToolBarMenuButton *pBorderType = new CMFCToolBarMenuButton(ID_BORDER_1, pPopup->GetSafeHmenu(),
                                                               GetCmdMgr()->GetCmdImage(ID_BORDER_1, FALSE),
                                                               _T("Borders"));

CMFCToolBarMenuButton ::CompareWith

virtual BOOL CompareWith(const CMFCToolBarButton& other) const;

Paramètres

[in] autre

Valeur de retour

Notes

CMFCToolBarMenuButton ::CopyFrom

virtual void CopyFrom(const CMFCToolBarButton& src);

Paramètres

[in] src

Notes

CMFCToolBarMenuButton ::CreateFromMenu

Initialise le menu de la barre d’outils à partir d’un handle de menu Windows.

virtual void CreateFromMenu(HMENU hMenu);

Paramètres

hMenu
[in] Handle vers un menu.

Notes

Un bouton de menu de barre d’outils peut afficher un sous-menu déroulant.

L’infrastructure appelle cette méthode pour initialiser les commandes dans le sous-menu à partir d’un menu.

CMFCToolBarMenuButton ::CreateMenu

Crée un menu qui se compose des commandes du menu de la barre d’outils. Retourne un handle dans le menu.

virtual HMENU CreateMenu() const;

Valeur de retour

Handle du menu en cas de réussite. NULL si la liste des commandes associées au bouton de menu de la barre d’outils est vide.

Notes

Vous pouvez remplacer cette méthode dans une classe dérivée pour personnaliser la façon dont le menu est généré.

CMFCToolBarMenuButton ::CreatePopupMenu

Crée un CMFCPopupMenu objet pour afficher le menu de la barre d’outils.

virtual CMFCPopupMenu* CreatePopupMenu();

Valeur de retour

Pointeur vers un CMFCPopupMenu objet qui affiche le menu déroulant associé au bouton de menu de la barre d’outils.

Notes

Cette méthode est appelée par l’infrastructure pour préparer l’affichage du menu déroulant associé au bouton.

L’implémentation par défaut construit et retourne un nouvel CMFCPopupMenu objet. Remplacez cette méthode si vous souhaitez utiliser un type dérivé de la classe CMFCPopupMenu ou pour effectuer une initialisation supplémentaire.

CMFCToolBarMenuButton ::D rawDocumentIcon

Dessine une icône de document sur le bouton de menu.

void DrawDocumentIcon(
    CDC* pDC,
    const CRect& rectImage,
    HICON hIcon);

Paramètres

pDC
[in] Pointeur vers le contexte de l’appareil.

rectImage
[in] Coordonnées du rectangle englobant d’image.

hIcon
[in] Handle vers l’icône.

Notes

Cette méthode prend une icône de document et la dessine sur le bouton de menu, centrée dans la zone spécifiée par rectImage.

CMFCToolBarMenuButton ::EnableQuickCustomize

void EnableQuickCustomize();

Notes

CMFCToolBarMenuButton ::HasButton

virtual BOOL HasButton() const;

Valeur de retour

Notes

CMFCToolBarMenuButton ::HaveHotBorder

virtual BOOL HaveHotBorder() const;

Valeur de retour

Notes

CMFCToolBarMenuButton ::IsBorder

virtual BOOL IsBorder() const;

Valeur de retour

Notes

CMFCToolBarMenuButton ::IsClickedOnMenu

BOOL IsClickedOnMenu() const;

Valeur de retour

Notes

CMFCToolBarMenuButton ::IsQuickMode

BOOL IsQuickMode();

Valeur de retour

Notes

CMFCToolBarMenuButton ::GetCommands

Donne un accès en lecture seule à la liste des commandes dans le menu de la barre d’outils.

const CObList& GetCommands() const;

Valeur de retour

Référence const à un objet CObList Class , qui contient une collection d’objets CMFCToolBarButton Class .

Notes

Un bouton de menu de barre d’outils peut afficher un sous-menu. Vous pouvez fournir la liste des commandes dans le sous-menu du constructeur ou dans CMFCToolBarMenuButton ::CreateFromMenu en tant que handle dans un menu (HMENU). Le menu est converti en une liste d’objets dérivés de la classe CMFCToolBarButton et stockés dans l’objet interne CObList . Vous pouvez accéder à cette liste en appelant cette méthode.

CMFCToolBarMenuButton ::GetImageRect

Récupère le rectangle englobant de l’image de bouton.

void GetImageRect(CRect& rectImage);

Paramètres

rectImage
[out] Référence à un CRect objet qui reçoit les coordonnées du rectangle englobant de l’image.

CMFCToolBarMenuButton ::GetPaletteRows

Retourne le nombre de lignes dans le menu déroulant lorsque le menu est en mode palette.

int GetPaletteRows() const;

Valeur de retour

Nombre de lignes dans la palette.

Notes

Lorsque le bouton de menu est défini sur le mode palette, les éléments de menu apparaissent dans plusieurs colonnes avec seulement un nombre limité de lignes. Appelez cette méthode pour obtenir le nombre de lignes. Vous pouvez activer ou désactiver le mode palette et spécifier le nombre de lignes à l’aide de CMFCToolBarMenuButton ::SetMenuPaletteMode.

CMFCToolBarMenuButton ::GetPopupMenu

Renvoie un pointeur vers l’objet CMFCPopupMenu Class qui représente le menu déroulant du bouton.

CMFCPopupMenu* GetPopupMenu() const;

Valeur de retour

Pointeur vers un objet CMFCPopupMenu Class créé lorsque l’infrastructure a dessiné le sous-menu du bouton de menu de la barre d’outils ; NULL si aucun sous-menu n’est affiché.

Notes

Lorsqu’un bouton de menu de barre d’outils affiche un menu déroulant, le bouton crée un objet CMFCPopupMenu Class pour représenter le menu. Appelez cette méthode pour obtenir un pointeur vers l’objet CMFCPopupMenu . Vous ne devez pas stocker le pointeur retourné, car il est temporaire et devient non valide lorsque l’utilisateur ferme le menu déroulant.

CMFCToolBarMenuButton ::IsDroppedDown

Indique si le menu contextuel est actuellement affiché.

virtual BOOL IsDroppedDown() const;

Valeur de retour

TRUE si le bouton du menu de la barre d’outils affiche son sous-menu ; sinon FALSE.

CMFCToolBarMenuButton ::IsEmptyMenuAllowed

Spécifie si les éléments de menu affichent des sous-menus vides.

virtual BOOL IsEmptyMenuAllowed() const;

Valeur de retour

TRUE si l’infrastructure ouvre un sous-menu à partir de l’élément de menu actuellement sélectionné même lorsque le sous-menu est vide ; sinon FALSE.

Notes

L’infrastructure appelle cette méthode lorsqu’un utilisateur tente d’ouvrir le sous-menu à partir de l’élément de menu actuellement sélectionné. Si le sous-menu est vide et IsEmptyMenuAllowed retourne FALSE, le sous-menu ne s’ouvre pas.

L’implémentation par défaut retourne FALSE. Remplacez cette méthode pour personnaliser ce comportement.

CMFCToolBarMenuButton ::IsExclusive

Indique si le bouton est en mode exclusif.

virtual BOOL IsExclusive() const;

Valeur de retour

TRUE si le bouton fonctionne en mode exclusif ; sinon FALSE.

Notes

Lorsqu’un utilisateur ouvre un menu contextuel pour un bouton, puis déplace le pointeur de la souris sur un autre bouton de barre d’outils ou de menu, le menu contextuel se ferme, sauf si le bouton est en mode exclusif.

L’implémentation par défaut retourne toujours FALSE. Remplacez cette méthode dans une classe dérivée si vous souhaitez activer le mode exclusif.

CMFCToolBarMenuButton ::IsMenuPaletteMode

Détermine si le menu déroulant est en mode palette.

BOOL IsMenuPaletteMode() const;

Valeur de retour

TRUE si le mode palette est activé, sinon FALSE.

Notes

Lorsque le bouton de menu est défini sur le mode palette, les éléments de menu apparaissent dans plusieurs colonnes avec seulement un nombre limité de lignes. Appelez cette méthode pour obtenir le nombre de lignes. Vous pouvez activer ou désactiver le mode palette en appelant CMFCToolBarMenuButton ::SetMenuPaletteMode.

CMFCToolBarMenuButton ::IsTearOffMenu

Indique si le menu déroulant comporte une barre de déchirure.

virtual BOOL IsTearOffMenu() const;

Valeur de retour

TRUE si le bouton du menu de la barre d’outils comporte une barre de déchirure ; sinon FALSE.

Notes

Pour activer la fonctionnalité de déchirure et définir l’ID de la barre de déchirure, appelez CMFCToolBarMenuButton ::SetTearOff.

CMFCToolBarMenuButton ::m_bAlwaysCallOwnerDraw

Spécifie si l’infrastructure appelle toujours CFrameWndEx ::OnDrawMenuImage lorsqu’un bouton est dessiné.

static BOOL m_bAlwaysCallOwnerDraw;

Notes

Lorsque cette variable membre a la valeur TRUE, le bouton appelle toujours la méthode CFrameWndEx ::OnDrawMenuImage pour afficher l’image sur le bouton. Quand m_bAlwaysCallOwnerDraw la valeur est FALSE, le bouton lui-même dessine l’image si l’image est prédéfinie. Sinon, il appelle OnDrawMenuImage.

CMFCToolBarMenuButton ::OnAfterCreatePopupMenu

virtual void OnAfterCreatePopupMenu();

Notes

CMFCToolBarMenuButton ::OnBeforeDrag

virtual BOOL OnBeforeDrag() const;

Valeur de retour

Notes

CMFCToolBarMenuButton ::OnCalculateSize

virtual SIZE OnCalculateSize(
    CDC* pDC,
    const CSize& sizeDefault,
    BOOL bHorz);

Paramètres

[in] pDC
[in] sizeDefault
[in] bHorz

Valeur de retour

Notes

CMFCToolBarMenuButton ::OnCancelMode

virtual void OnCancelMode();

Notes

CMFCToolBarMenuButton ::OnChangeParentWnd

virtual void OnChangeParentWnd(CWnd* pWndParent);

Paramètres

[in] pWndParent

Notes

CMFCToolBarMenuButton ::OnClick

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Paramètres

[in] pWnd
[in] bDelay

Valeur de retour

Notes

CMFCToolBarMenuButton ::OnClickMenuItem

Appelé par l’infrastructure lorsque l’utilisateur sélectionne un élément dans le menu déroulant.

virtual BOOL OnClickMenuItem();

Valeur de retour

FALSE si l’infrastructure doit continuer le traitement des éléments de menu par défaut ; sinon TRUE. L’implémentation par défaut retourne toujours FALSE.

Notes

Lorsque l’utilisateur clique sur un élément de menu, l’infrastructure exécute une commande associée à cet élément.

Pour personnaliser le traitement des éléments de menu, remplacez OnClickMenuItem dans une classe dérivée de CMFCToolBarMenuButton la classe. Vous devez également remplacer CFrameWndEx ::OnShowPopupMenu et remplacer les boutons de menu qui nécessitent un traitement spécial par des instances de la classe dérivée.

CMFCToolBarMenuButton ::OnContextHelp

virtual BOOL OnContextHelp(CWnd* pWnd);

Paramètres

[in] pWnd

Valeur de retour

Notes

CMFCToolBarMenuButton ::OnDraw

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    CMFCToolBarImages* pImages,
    BOOL bHorz = TRUE,
    BOOL bCustomizeMode = FALSE,
    BOOL bHighlight = FALSE,
    BOOL bDrawBorder = TRUE,
    BOOL bGrayDisabledButtons = TRUE);

Paramètres

[in] pDC
[in] rect
[in] pImages
[in] bHorz
[in] bCustomizeMode
[in] bHighlight
[in] bDrawBorder
[in] bGrayDisabledButtons

Notes

CMFCToolBarMenuButton ::OnDrawOnCustomizeList

virtual int OnDrawOnCustomizeList(
    CDC* pDC,
    const CRect& rect,
    BOOL bSelected);

Paramètres

[in] pDC
[in] rect
[in] bSelected

Valeur de retour

Notes

CMFCToolBarMenuButton ::OpenPopupMenu

Appelé par l’infrastructure lorsque l’utilisateur ouvre le menu déroulant d’un bouton de menu de barre d’outils.

virtual BOOL OpenPopupMenu(CWnd* pWnd=NULL);

Paramètres

pWnd
[in] Spécifie la fenêtre qui reçoit les commandes du menu déroulant. Elle ne peut être NULL que si le bouton du menu de la barre d’outils possède une fenêtre parente.

Valeur de retour

TRUE lorsqu’un objet CMFCPopupMenu Class a été créé et ouvert avec succès ; sinon FALSE.

Notes

Cette fonction est appelée par l’infrastructure lorsque l’utilisateur ouvre un menu déroulant à partir d’un bouton de menu de barre d’outils.

CMFCToolBarMenuButton ::ResetImageToDefault

virtual void ResetImageToDefault();

Notes

CMFCToolBarMenuButton ::SaveBarState

virtual void SaveBarState();

Notes

L’infrastructure appelle cette méthode lorsqu’elle crée un bouton de barre d’outils à la suite d’une opération de glisser-déplacer. Cette méthode appelle la méthode CMFCPopupMenu ::SaveState du menu contextuel de niveau supérieur, ce qui entraîne la recréation du menu contextuel par le bouton parent du menu contextuel.

CMFCToolBarMenuButton ::Serialize

virtual void Serialize(CArchive& ar);

Paramètres

[in] ar

Notes

CMFCToolBarMenuButton ::SetACCData

Définit les données d’accessibilité de l’élément ruban.

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

Paramètres

pParent
La fenêtre parente de l’élément ruban.

data
Les données d’accessibilité de l’élément ruban.

Valeur de retour

Retourne toujours TRUE.

Notes

Par défaut, cette méthode définit les données d’accessibilité pour l’élément du ruban et retourne toujours TRUE. Remplacez cette méthode pour définir l’accessibilité des données et retourner une valeur qui indique la réussite ou l’échec.

CMFCToolBarMenuButton ::SetMenuOnly

Spécifie si le bouton est dessiné sous la forme d’un bouton de menu ou d’un bouton fractionné lorsqu’il a à la fois un ID de commande valide et un sous-menu.

void SetMenuOnly(BOOL bMenuOnly);

Paramètres

bMenuOnly
[in] TRUE pour afficher ce bouton en tant que bouton de menu lorsqu’il a à la fois un ID de commande valide et un sous-menu, FALSE pour afficher ce bouton comme bouton fractionné lorsqu’il a à la fois un ID de commande valide et un sous-menu.

Notes

En règle générale, lorsqu’un bouton de menu de barre d’outils comporte à la fois un sous-menu et un ID de commande, le menu semble être un bouton fractionné qui a un bouton principal et un bouton flèche vers le bas attaché. Si vous appelez cette méthode et bMenuOnly a la valeur TRUE, le bouton semble plutôt être un seul bouton de menu avec une flèche vers le bas dans le bouton. Lorsque l’utilisateur clique sur la flèche en mode, le sous-menu s’ouvre et lorsque l’utilisateur clique sur la partie non-flèche du bouton dans l’un ou l’autre mode, l’infrastructure exécute la commande.

CMFCToolBarMenuButton ::SetMenuPaletteMode

Spécifie si le menu déroulant est en mode palette.

void SetMenuPaletteMode(
    BOOL bMenuPaletteMode=TRUE,
    int nPaletteRows=1);

Paramètres

bMenuPaletteMode
[in] Spécifie si le menu déroulant est en mode palette.

nPaletteRows
[in] Nombre de lignes dans la palette.

Notes

En mode palette, tous les éléments de menu sont affichés sous la forme d’une palette multicolonne. Vous spécifiez le nombre de lignes à l’aide de nPaletteRows.

CMFCToolBarMenuButton ::SetMessageWnd

void SetMessageWnd(CWnd* pWndMessage);

Paramètres

[in] pWndMessage

Notes

CMFCToolBarMenuButton ::SetRadio

Définit le bouton de menu de la barre d’outils pour afficher une icône de style de case d’option lorsqu’elle est cochée.

virtual void SetRadio();

Notes

Lorsque le bouton de menu est dessiné pendant qu’il est activé, il appelle CMFCVisualManager ::OnDrawMenuCheck pour dessiner une icône de coche. Par défaut, OnDrawMenuCheck demande que le gestionnaire de visuels actuel dessine une coche de style de case à cocher sur le bouton de menu. Après avoir appelé cette méthode, le gestionnaire de visuels actuel dessine plutôt une coche de style de case d’option sur le bouton de menu. Cette modification est irréversible.

Lorsque vous appelez cette méthode et que le bouton de menu est en cours d’affichage, il est actualisé.

CMFCToolBarMenuButton ::SetTearOff

Spécifie l’ID de la barre de déchirure du menu déroulant.

virtual void SetTearOff(UINT uiBarID);

Paramètres

uiBarID
[in] Spécifie un nouvel ID de barre de déchirure.

Notes

Appelez cette méthode pour spécifier l’ID de la barre de déchirure créée lorsque l’utilisateur fait glisser le bouton de menu hors d’une barre de menus. Si le paramètre uiBarID est 0, l’utilisateur ne peut pas supprimer le bouton de menu.

Appelez CWinAppEx ::EnableTearOffMenus pour activer la fonctionnalité de menu déchirure dans votre application.

Voir aussi

Graphique hiérarchique
Classes
CMFCToolBarButton, classe
CMFCToolBar, classe
CMFCPopupMenu, classe