Share via


CMFCRibbonButton, classe

La classe CMFCRibbonButton implémente des boutons que vous pouvez placer sur des éléments de barre de ruban, tels que les volets, les barres d'outils Accès rapide et les menus contextuels.

Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

Syntaxe

class CMFCRibbonButton : public CMFCRibbonBaseElement

Membres

Constructeurs publics

Nom Description
CMFCRibbonButton ::CMFCRibbonButton Construit un objet bouton de ruban.

Méthodes publiques

Nom Description
CMFCRibbonButton ::AddSubItem Ajoute un élément de menu au menu contextuel associé au bouton.
CMFCRibbonButton ::CanBeStretched (Remplacements CMFCRibbonBaseElement ::CanBeStretched.)
CMFCRibbonButton ::CleanUpSizes (Remplacements CMFCRibbonBaseElement ::CleanUpSizes.)
CMFCRibbonButton ::ClosePopupMenu (Remplacements CMFCRibbonBaseElement ::ClosePopupMenu.)
CMFCRibbonButton ::D rawBottomText
CMFCRibbonButton ::D rawImage (Remplacements CMFCRibbonBaseElement ::D rawImage.)
CMFCRibbonButton ::D rawRibbonText
CMFCRibbonButton ::FindSubItemIndexByID Retourne l'index d'un élément de menu contextuel associé à l'ID de commande spécifié.
CMFCRibbonButton ::GetCommandRect
CMFCRibbonButton ::GetCompactSize Retourne la taille réduite de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::GetCompactSize.)
CMFCRibbonButton ::GetIcon
CMFCRibbonButton ::GetImageIndex Retourne l'index de l'image associée au bouton.
CMFCRibbonButton ::GetImageSize Retourne la taille d'image de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::GetImageSize.)
CMFCRibbonButton ::GetIntermediateSize Retourne la taille de l'élément de ruban dans son état intermédiaire. (Remplacements CMFCRibbonBaseElement ::GetIntermediateSize.)
CMFCRibbonButton ::GetMenu Retourne un handle de menu Windows affecté au bouton du ruban.
CMFCRibbonButton ::GetMenuRect
CMFCRibbonButton ::GetRegularSize Retourne la taille normale de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::GetRegularSize.)
CMFCRibbonButton ::GetSubItems
CMFCRibbonButton ::GetTextRowHeight
CMFCRibbonButton ::GetToolTipText Retourne le texte d'info-bulle de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::GetToolTipText.)
CMFCRibbonButton ::HasCompactMode Précise si l'élément de ruban a un mode réduit. (Remplacements CMFCRibbonBaseElement ::HasCompactMode.)
CMFCRibbonButton ::HasIntermediateMode Précise si l'élément de ruban a un mode intermédiaire. (Remplacements CMFCRibbonBaseElement ::HasIntermediateMode.)
CMFCRibbonButton ::HasLargeMode Détermine si l'élément de ruban a un mode grand. (Remplacements CMFCRibbonBaseElement ::HasLargeMode.)
CMFCRibbonButton ::HasMenu (Remplacements CMFCRibbonBaseElement ::HasMenu.)
CMFCRibbonButton ::IsAlwaysDrawBorder
CMFCRibbonButton ::IsAlwaysLargeImage (Remplacements CMFCRibbonBaseElement ::IsAlwaysLargeImage.)
CMFCRibbonButton ::IsApplicationButton
CMFCRibbonButton ::IsCommandAreaHighlighted
CMFCRibbonButton ::IsDefaultCommand Détermine si vous avez activé la commande par défaut pour un bouton du ruban.
CMFCRibbonButton ::IsDefaultPanelButton
CMFCRibbonButton ::IsDrawTooltipImage
CMFCRibbonButton ::IsLargeImage
CMFCRibbonButton ::IsMenuAreaHighlighted
CMFCRibbonButton ::IsMenuOnBottom
CMFCRibbonButton ::IsPopupDefaultMenuLook
CMFCRibbonButton ::IsRightAlignMenu Détermine si le menu est aligné à droite.
CMFCRibbonButton ::IsSingleLineText
CMFCRibbonButton ::OnCalcTextsize (Remplacements CMFCRibbonBaseElement ::OnCalcTextsize.)
CMFCRibbonButton ::OnDrawBorder
CMFCRibbonButton ::OnDraw Appelé par l'infrastructure pour dessiner l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::OnDraw.)
CMFCRibbonButton ::OnFillBackground
CMFCRibbonButton ::RemoveAllSubItems Supprime tous les éléments de menu du menu contextuel.
CMFCRibbonButton ::RemoveSubItem Supprime un élément de menu du menu contextuel.
CMFCRibbonButton ::SetACCData (Remplacements CMFCRibbonBaseElement ::SetACCData.)
CMFCRibbonButton ::SetAlwaysLargeImage Précise si le bouton affiche une image grande ou petite quand l‘utilisateur réduit le bouton.
CMFCRibbonButton ::SetDefaultCommand Active la commande par défaut pour le bouton du ruban.
CMFCRibbonButton ::SetDescription Définit la description de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::SetDescription.)
CMFCRibbonButton ::SetImageIndex Affecte un index à l'image du bouton.
CMFCRibbonButton ::SetMenu Affecte un menu contextuel au bouton du ruban.
CMFCRibbonButton ::SetParentCategory (Remplacements CMFCRibbonBaseElement ::SetParentCategory.)
CMFCRibbonButton ::SetRightAlignMenu Aligne le menu contextuel à droite du bouton.
CMFCRibbonButton ::SetText Définit le texte de l'élément de ruban. (Remplacements CMFCRibbonBaseElement ::SetText.)

Méthodes protégées

Nom Description
CMFCRibbonButton ::OnClick Appelé par l'infrastructure quand l'utilisateur clique sur le bouton.

Exemple

L'exemple suivant montre comment utiliser les différentes méthodes de la classe CMFCRibbonButton. Il montre comment construire un objet de la classe CMFCRibbonButton, affecter un menu contextuel au bouton du ruban, définir la description du bouton, supprimer un élément de menu du menu contextuel et aligner le menu contextuel à droite par rapport au bord du bouton.

strTemp.LoadString(IDS_RIBBON_STYLE);
// The first parameter is the command ID of the button.
// The third parameter is a zero-based index of the button's small image in the
// image list of the parent category.
// The fourth parameter is a zero-based index of the button's large image in the
// image list of the parent category.
CMFCRibbonButton *pVisualStyleButton = new CMFCRibbonButton(1, strTemp, -1, -1);

pVisualStyleButton->SetMenu(IDR_THEME_MENU, TRUE, TRUE);

strTemp.LoadString(IDS_RIBBON_STYLE_TIP);
pVisualStyleButton->SetToolTipText(strTemp);
strTemp.LoadString(IDS_RIBBON_STYLE_DESC);
pVisualStyleButton->SetDescription(strTemp);
pVisualStyleButton->RemoveSubItem(0);
pVisualStyleButton->SetRightAlignMenu(TRUE);

Notes

Pour utiliser un bouton de ruban dans une application, construisez l’objet bouton et ajoutez-le au panneau de ruban approprié.

CMFCRibbonPanel* pPanel = pCategory->AddPanel (
    _T("Clipboard"), // Panel name
    m_PanelIcons.ExtractIcon (0)); // Panel icon

// Create the first button ("Paste"):
CMFCRibbonButton* pPasteButton =
    new CMFCRibbonButton (ID_EDIT_PASTE, _T("Paste"), -1, 0);

// The third parameter (-1) disables small images for button.
// This button is always displayed with a large image
// Associate a pop-up menu with the "Paste" button:
pPasteButton->SetMenu (IDR_CONTEXT_MENU);

// Add buttons to the panel. These buttons have only small images.
pPanel->Add (new CMFCRibbonButton (ID_EDIT_CUT, _T("Cut"), 1));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_COPY, _T("Copy"), 2));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_PAINT, _T("Paint"), 9));

Hiérarchie d'héritage

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Spécifications

En-tête : afxribbonbutton.h

CMFCRibbonButton ::AddSubItem

Ajoute un élément de menu au menu contextuel associé au bouton.

void AddSubItem(
    CMFCRibbonBaseElement* pSubItem,
    int nIndex=-1);

Paramètres

pSubItem
[in] Spécifie un pointeur vers le nouvel élément à ajouter.

nIndex
[in] Spécifie l’index auquel ajouter l’élément au tableau d’éléments de menu du bouton ; -1 pour ajouter l’élément à la fin du tableau d’éléments de menu.

CMFCRibbonButton ::CanBeStretched

virtual BOOL CanBeStretched();

Valeur de retour

Notes

CMFCRibbonButton ::CleanUpSizes

virtual void CleanUpSizes();

Notes

CMFCRibbonButton ::ClosePopupMenu

virtual void ClosePopupMenu();

Notes

CMFCRibbonButton ::CMFCRibbonButton

Construit un objet bouton de ruban.

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex=-1,
    int nLargeImageIndex=-1,
    BOOL bAlwaysShowDescription=FALSE);

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    HICON hIcon,
    BOOL bAlwaysShowDescription=FALSE,
    HICON hIconSmall=NULL,
    BOOL bAutoDestroyIcon=FALSE,
    BOOL bAlphaBlendIcon=FALSE);

Paramètres

nID
[in] Spécifie l’ID de commande du bouton.

lpszText
[in] Spécifie l’étiquette de texte du bouton.

nSmallImageIndex
[in] Spécifie un index de base zéro de la petite image du bouton dans la liste d’images de la catégorie parente.

nLargeImageIndex
[in] Spécifie un index de base zéro de la grande image du bouton dans la liste d’images de la catégorie parente.

hIcon
[in] Spécifie un handle à l’icône utilisée par l’application comme image du bouton.

Exemple

L’exemple suivant montre comment construire un CMFCRibbonButton objet.

strTemp.LoadString(IDS_RIBBON_CUT);
CMFCRibbonButton *butn = new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1);
butn->SetKeys(_T("k"));

CMFCRibbonButton ::D rawBottomText

CSize DrawBottomText(
    CDC* pDC,
    BOOL bCalcOnly);

Paramètres

[in] Pdc
[in] bCalcOnly

Valeur de retour

Notes

CMFCRibbonButton ::D rawImage

virtual void DrawImage(
    CDC* pDC,
    RibbonImageType type,
    CRect rectImage);

Paramètres

[in] Pdc
[in] Type
[in] rectImage

Notes

CMFCRibbonButton ::D rawRibbonText

virtual int DrawRibbonText(
    CDC* pDC,
    const CString& strText,
    CRect rectText,
    UINT uiDTFlags,
    COLORREF clrText = (COLORREF)-1);

Paramètres

[in] Pdc
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText

Valeur de retour

Notes

CMFCRibbonButton ::FindSubItemIndexByID

Retourne l'index d'un élément de menu contextuel associé à l'ID de commande spécifié.

int FindSubItemIndexByID(UINT uiID) const;

Paramètres

uiID
[in] Spécifie l’ID de commande de l’élément de menu contextuel.

Valeur de retour

Index de base zéro du sous-élément associé à l’UIID. -1 s’il n’y a pas de sous-élément de ce type.

CMFCRibbonButton ::GetCommandRect

CRect GetCommandRect() const;

Valeur de retour

Notes

CMFCRibbonButton ::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Paramètres

[in] Pdc

Valeur de retour

Notes

CMFCRibbonButton ::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Paramètres

[in] bLargeIcon

Valeur de retour

Notes

CMFCRibbonButton ::GetImageIndex

Retourne l'index de l'image associée au bouton.

int GetImageIndex(BOOL bLargeImage) const;

Paramètres

bLargeImage
[in] Si la valeur est TRUE, retourne l’index d’image dans la liste d’images qui contient les grandes images ; sinon, retourne l’index d’image dans la liste d’images qui contient les petites images.

Valeur de retour

Index de l’image du bouton dans la liste d’images associée.

CMFCRibbonButton ::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Paramètres

[in] Type

Valeur de retour

Notes

CMFCRibbonButton ::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Paramètres

[in] Pdc

Valeur de retour

Notes

CMFCRibbonButton ::GetMenu

Retourne un handle de menu Windows affecté au bouton du ruban.

HMENU GetMenu() const;

Valeur de retour

Handle d’un menu Windows affecté au bouton ; NULL s’il n’y a pas de menu affecté.

CMFCRibbonButton ::GetMenuRect

CRect GetMenuRect() const;

Valeur de retour

Notes

CMFCRibbonButton ::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Paramètres

[in] Pdc

Valeur de retour

Notes

CMFCRibbonButton ::GetSubItems

const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;

Valeur de retour

Notes

CMFCRibbonButton ::GetTextRowHeight

int GetTextRowHeight() const;

Valeur de retour

Notes

CMFCRibbonButton ::GetToolTipText

virtual CString GetToolTipText() const;

Valeur de retour

Notes

CMFCRibbonButton ::HasCompactMode

virtual BOOL HasCompactMode() const;

Valeur de retour

Notes

CMFCRibbonButton ::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Valeur de retour

Notes

CMFCRibbonButton ::HasLargeMode

virtual BOOL HasLargeMode() const;

Valeur de retour

Notes

CMFCRibbonButton ::HasMenu

virtual BOOL HasMenu() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsDefaultCommand

Spécifie si la commande par défaut d’un bouton de ruban est activée.

BOOL IsDefaultCommand() const;

Valeur de retour

TRUE si vous avez activé la commande par défaut pour un bouton de ruban ; FALSE dans le cas contraire.

CMFCRibbonButton ::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsLargeImage

BOOL IsLargeImage() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Valeur de retour

Notes

CMFCRibbonButton ::IsRightAlignMenu

Spécifie si le menu est aligné à droite.

BOOL IsRightAlignMenu() const;

Valeur de retour

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

CMFCRibbonButton ::IsSingleLineText

BOOL IsSingleLineText() const;

Valeur de retour

Notes

CMFCRibbonButton ::OnCalcTextsize

virtual void OnCalcTextSize(CDC* pDC);

Paramètres

[in] Pdc

Notes

CMFCRibbonButton ::OnClick

Appelé par l'infrastructure quand l'utilisateur clique sur le bouton.

virtual void OnClick(CPoint point);

Paramètres

Point
[in] Spécifie la position du clic de la souris.

Notes

Remplacez cette méthode dans une classe dérivée si vous souhaitez gérer cet événement.

CMFCRibbonButton ::OnDraw

virtual void OnDraw(CDC* pDC);

Paramètres

[in] Pdc

Notes

CMFCRibbonButton ::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Paramètres

[in] Pdc

Notes

CMFCRibbonButton ::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Paramètres

[in] Pdc

Valeur de retour

Notes

CMFCRibbonButton ::RemoveAllSubItems

Supprime tous les éléments de menu du menu contextuel.

void RemoveAllSubItems();

CMFCRibbonButton ::RemoveSubItem

Supprime un élément de menu du menu contextuel.

BOOL RemoveSubItem(int nIndex);

Paramètres

nIndex
[in] Spécifie l’index de base zéro de l’élément de menu que vous souhaitez supprimer.

Valeur de retour

TRUE si l’élément spécifié a été supprimé avec succès ; sinon FALSE si nIndex est négatif ou dépasse le nombre d’éléments de menu dans le menu contextuel.

CMFCRibbonButton ::SetACCData

Définit les données d’accessibilité du bouton de 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 TRUE en cas de réussite ; sinon FALSE.

Notes

CMFCRibbonButton ::SetAlwaysLargeImage

Précise si le bouton affiche une image grande ou petite quand l‘utilisateur réduit le bouton.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Paramètres

bSet
[in] Si la valeur est TRUE, le bouton affiche une grande image. Sinon, le bouton affiche une petite image.

CMFCRibbonButton ::SetDefaultCommand

Active la commande par défaut pour le bouton du ruban.

void SetDefaultCommand(BOOL bSet=TRUE);

Paramètres

bSet
[in] Si la valeur est TRUE, le bouton peut exécuter sa commande par défaut. Si la valeur est FALSE, le bouton ne peut pas exécuter sa commande par défaut.

Notes

bSet est pertinent uniquement lorsque le bouton a un menu. Si bSet a la valeur TRUE, le bouton peut exécuter sa commande par défaut et le menu contextuel affecté s’affiche uniquement lorsqu’un utilisateur clique sur la flèche au bord droit du bouton. Sinon, le bouton ne peut pas exécuter sa commande par défaut et le menu contextuel s’affiche, quelle que soit la zone du bouton sur lequel l’utilisateur clique.

CMFCRibbonButton ::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Paramètres

[in] lpszText

Notes

CMFCRibbonButton ::SetImageIndex

Affecte un index à l'image du bouton.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Paramètres

nIndex
[in] Spécifie l’index d’image.

bLargeImage
[in] Si la valeur est TRUE, l’index spécifié fait référence à la liste des images volumineuses. Sinon, l’index fait référence à la liste des petites images.

CMFCRibbonButton ::SetMenu

Affecte un menu contextuel au bouton du ruban.

void SetMenu(
    HMENU hMenu,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

void SetMenu(
    UINT uiMenuResID,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

Paramètres

hMenu
Handle vers un menu Windows.

bIsDefaultCommand
Si la valeur est TRUE, le bouton peut exécuter sa commande par défaut ; sinon, le bouton affiche un menu contextuel.

bRightAlign
Si la valeur est TRUE, le menu est aligné à droite. Sinon, le menu est aligné à gauche.

uiMenuResID
ID de ressource de menu.

Notes

Lorsque l’application affecte le menu au bouton, le bouton affiche une flèche sur son côté droit. Si bIsDefaultCommand a la valeur TRUE, le menu s’affiche uniquement lorsque l’utilisateur clique sur la flèche. Si l’utilisateur clique sur le bouton, sa commande par défaut est exécutée. Si bIsDefaultCommand a la valeur FALSE, le menu s’affiche en cliquant n’importe où sur le bouton.

CMFCRibbonButton ::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Paramètres

[in] pParent

Notes

CMFCRibbonButton ::SetRightAlignMenu

Aligne le menu contextuel sur le bord du bouton.

void SetRightAlignMenu(BOOL bSet=TRUE);

Paramètres

bSet
[in] Si la valeur est TRUE, le menu est aligné à droite. Sinon, le menu est aligné à gauche

CMFCRibbonButton ::SetText

virtual void SetText(LPCTSTR lpszText);

Paramètres

[in] lpszText

Notes

Voir aussi

Graphique hiérarchique
Classes