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
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
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