Freigeben über


CMFCRibbonButton-Klasse

Die CMFCRibbonButton-Klasse implementiert Schaltflächen, die auf Menübandleisten-Elementen wie Bereichen, Symbolleisten für den Schnellzugriff und Popupmenüs positioniert werde können.

Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.

Syntax

class CMFCRibbonButton : public CMFCRibbonBaseElement

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCRibbonButton::CMFCRibbonButton Erstellt ein Menüband-Schaltflächenobjekt.

Öffentliche Methoden

Name Beschreibung
CMFCRibbonButton::AddSubItem Fügt ein Menüelement zu dem Popup-Menü hinzu, dem die Schaltfläche zugeordnet ist.
CMFCRibbonButton::CanBeStretched (Außerkraftsetzungen CMFCRibbonBaseElement::CanBeStretched.)
CMFCRibbonButton::CleanUpSizes (Außerkraftsetzungen CMFCRibbonBaseElement::CleanUpSizes.)
CMFCRibbonButton::ClosePopupMenu (Außerkraftsetzungen CMFCRibbonBaseElement::ClosePopupMenu.)
CMFCRibbonButton::D rawBottomText
CMFCRibbonButton::D rawImage (Außerkraftsetzungen CMFCRibbonBaseElement::D rawImage.)
CMFCRibbonButton::D rawRibbonText
CMFCRibbonButton::FindSubItemIndexByID Gibt den Index eines Popupmenü-Elements zurück, das der angegebenen Befehls-ID zugeordnet ist.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize Gibt die komprimierte Größe des Menübandelements zurück. (Außerkraftsetzungen CMFCRibbonBaseElement::GetCompactSize.)
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex Gibt den Index des Bilds zurück, das der Schaltfläche zugeordnet ist.
CMFCRibbonButton::GetImageSize Gibt die Bildgröße des Menübandelements zurück. (Außerkraftsetzungen CMFCRibbonBaseElement::GetImageSize.)
CMFCRibbonButton::GetIntermediateSize Gibt die Größe des Menübandelements im Zwischenstatus zurück. (Außerkraftsetzungen CMFCRibbonBaseElement::GetIntermediateSize.)
CMFCRibbonButton::GetMenu Gibt ein Handle für ein Windows-Menü zurück, das der Menüband-Schaltfläche zugewiesen ist.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize Gibt die reguläre Größe des Menübandelements zurück. (Außerkraftsetzungen CMFCRibbonBaseElement::GetRegularSize.)
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText Gibt den QuickInfo-Text des Menübandelements zurück. (Außerkraftsetzungen CMFCRibbonBaseElement::GetToolTipText.)
CMFCRibbonButton::HasCompactMode Gibt an, ob das Menübandelement über einen Komprimierungsmodus verfügt. (Außerkraftsetzungen CMFCRibbonBaseElement::HasCompactMode.)
CMFCRibbonButton::HasIntermediateMode Gibt an, ob das Menübandelement über einen Zwischenstatus verfügt (Außerkraftsetzungen CMFCRibbonBaseElement::HasIntermediateMode.)
CMFCRibbonButton::HasLargeMode Legt fest, ob das Menübandelement über einen Großbildmodus verfügt. (Außerkraftsetzungen CMFCRibbonBaseElement::HasLargeMode.)
CMFCRibbonButton::HasMenu (Außerkraftsetzungen CMFCRibbonBaseElement::HasMenu.)
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (Außerkraftsetzungen CMFCRibbonBaseElement::IsAlwaysLargeImage.)
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand Legt fest, ob Sie den Standardbefehl für eine Menüband-Schaltfläche aktiviert haben.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu Legt fest, ob das Menü rechts ausgerichtet ist.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextSize (Außerkraftsetzungen CMFCRibbonBaseElement::OnCalcTextSize.)
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw Wird vom Framework aufgerufen, um das Menübandelement zu zeichnen. (Außerkraftsetzungen CMFCRibbonBaseElement::OnDraw.)
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems Entfernt alle Menüelemente aus dem Popupmenü.
CMFCRibbonButton::RemoveSubItem Entfernt ein Menüelement aus dem Popupmenü.
CMFCRibbonButton::SetACCData (Außerkraftsetzungen CMFCRibbonBaseElement::SetACCData.)
CMFCRibbonButton::SetAlwaysLargeImage Gibt an, ob für die Schaltfläche ein großes oder ein kleines Bild angezeigt wird, wenn die Schaltfläche vom Benutzer reduziert wird.
CMFCRibbonButton::SetDefaultCommand Aktiviert den Standardbefehl für die Menübandschaltfläche.
CMFCRibbonButton::SetDescription Legt die Beschreibung für das Menübandelement fest. (Außerkraftsetzungen CMFCRibbonBaseElement::SetDescription.)
CMFCRibbonButton::SetImageIndex Weist dem Schaltflächenbild einen Index zu.
CMFCRibbonButton::SetMenu Weist der Menüband-Schaltfläche ein Popupmenü zu.
CMFCRibbonButton::SetParentCategory (Außerkraftsetzungen CMFCRibbonBaseElement::SetParentCategory.)
CMFCRibbonButton::SetRightAlignMenu Richtet das Popupmenü rechts neben der Schaltfläche aus.
CMFCRibbonButton::SetText Legt den Text für das Menübandelement fest. (Außerkraftsetzungen CMFCRibbonBaseElement::SetText.)

Geschützte Methoden

Name Beschreibung
CMFCRibbonButton::OnClick Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche klickt.

Beispiel

Im folgenden Beispiel wird die Verwendung der unterschiedlichen Methoden in der CMFCRibbonButton-Klasse veranschaulicht. In dem Beispiel wird veranschaulicht, wie Sie ein Objekt der CMFCRibbonButton-Klasse erstellen, der Menüband-Schaltfläche ein Popupmenü zuweisen, die Beschreibung der Schaltfläche festlegen, ein Menüelement aus dem Popupmenü entfernen und das Popupmenü rechts an den Rand der Schaltfläche ausrichten können.

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

Hinweise

Um eine Menübandschaltfläche in einer Anwendung zu verwenden, erstellen Sie das Schaltflächenobjekt, und fügen Sie es dem entsprechenden Menübandbereich hinzu.

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

Vererbungshierarchie

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Anforderungen

Header: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

Fügt ein Menüelement zu dem Popup-Menü hinzu, dem die Schaltfläche zugeordnet ist.

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

Parameter

pSubItem
[in] Gibt einen Zeiger auf das hinzuzufügende neue Element an.

nIndex
[in] Gibt den Index an, in dem das Element dem Array von Menüelementen der Schaltfläche hinzugefügt werden soll; -1, um das Element am Ende des Arrays von Menüelementen hinzuzufügen.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Rückgabewert

Bemerkungen

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

Hinweise

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

Hinweise

CMFCRibbonButton::CMFCRibbonButton

Erstellt ein Menüband-Schaltflächenobjekt.

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

Parameter

Nid
[in] Gibt die Befehls-ID der Schaltfläche an.

lpszText
[in] Gibt die Textbezeichnung der Schaltfläche an.

nSmallImageIndex
[in] Gibt einen nullbasierten Index des kleinen Bilds der Schaltfläche in der Bildliste der übergeordneten Kategorie an.

nLargeImageIndex
[in] Gibt einen nullbasierten Index des großen Bilds der Schaltfläche in der Bildliste der übergeordneten Kategorie an.

hIcon
[in] Gibt ein Handle für das Symbol an, das die Anwendung als Bild der Schaltfläche verwendet.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie ein CMFCRibbonButton Objekt erstellt wird.

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

Parameter

[in] pDC
[in] bCalcOnly

Rückgabewert

Bemerkungen

CMFCRibbonButton::D rawImage

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

Parameter

[in] pDC
[in] Art
[in] rectImage

Hinweise

CMFCRibbonButton::D rawRibbonText

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

Parameter

[in] pDC
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText

Rückgabewert

Bemerkungen

CMFCRibbonButton::FindSubItemIndexByID

Gibt den Index eines Popupmenü-Elements zurück, das der angegebenen Befehls-ID zugeordnet ist.

int FindSubItemIndexByID(UINT uiID) const;

Parameter

uiID
[in] Gibt die Befehls-ID des Popupmenüelements an.

Rückgabewert

Der nullbasierte Index des Unterelements, das der UIID zugeordnet ist. -1, wenn kein solches Unterelement vorhanden ist.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parameter

[in] pDC

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Parameter

[in] bLargeIcon

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetImageIndex

Gibt den Index des Bilds zurück, das der Schaltfläche zugeordnet ist.

int GetImageIndex(BOOL bLargeImage) const;

Parameter

bLargeImage
[in] Wenn WAHR, gibt den Bildindex in der Bildliste zurück, die die großen Bilder enthält; andernfalls wird der Bildindex in der Bildliste zurückgegeben, die die kleinen Bilder enthält.

Rückgabewert

Der Index des Bilds der Schaltfläche in der zugeordneten Bildliste.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Parameter

[in] Art

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Parameter

[in] pDC

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetMenu

Gibt ein Handle für ein Windows-Menü zurück, das der Menüband-Schaltfläche zugewiesen ist.

HMENU GetMenu() const;

Rückgabewert

Ein Handle zu einem Windows-Menü, das der Schaltfläche zugewiesen ist; NULL, wenn kein Menü zugewiesen ist.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parameter

[in] pDC

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetSubItems

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

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsDefaultCommand

Gibt an, ob der Standardbefehl für eine Menübandschaltfläche aktiviert ist.

BOOL IsDefaultCommand() const;

Rückgabewert

TRUE, wenn Sie den Standardbefehl für eine Menübandschaltfläche aktiviert haben; Andernfalls FALSE.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::IsRightAlignMenu

Gibt an, ob das Menü rechtsbündig ausgerichtet ist.

BOOL IsRightAlignMenu() const;

Rückgabewert

TRUE, wenn das Menü rechtsbündig ausgerichtet ist; andernfalls FALSE.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Rückgabewert

Bemerkungen

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

Parameter

[in] pDC

Hinweise

CMFCRibbonButton::OnClick

Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche klickt.

virtual void OnClick(CPoint point);

Parameter

Punkt
[in] Gibt die Position des Mausklicks an.

Hinweise

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, wenn Sie dieses Ereignis behandeln möchten.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

Parameter

[in] pDC

Hinweise

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Parameter

[in] pDC

Hinweise

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Parameter

[in] pDC

Rückgabewert

Bemerkungen

CMFCRibbonButton::RemoveAllSubItems

Entfernt alle Menüelemente aus dem Popupmenü.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

Entfernt ein Menüelement aus dem Popupmenü.

BOOL RemoveSubItem(int nIndex);

Parameter

nIndex
[in] Gibt den nullbasierten Index des Menüelements an, das Sie entfernen möchten.

Rückgabewert

TRUE, wenn das angegebene Element erfolgreich entfernt wurde; andernfalls FALSE, wenn nIndex negativ ist oder die Anzahl der Menüelemente im Popupmenü überschreitet.

CMFCRibbonButton::SetACCData

Legt die Barrierefreiheitsdaten für die Menübandschaltfläche fest.

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

Parameter

pParent
Das übergeordnete Fenster für die Menübandelement.

data
Die Barrierefreiheitsdaten für das Menübandelement.

Rückgabewert

Gibt WAHR zurück, wenn dies erfolgreich ist; andernfalls FALSE.

Hinweise

CMFCRibbonButton::SetAlwaysLargeImage

Gibt an, ob für die Schaltfläche ein großes oder ein kleines Bild angezeigt wird, wenn die Schaltfläche vom Benutzer reduziert wird.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Parameter

bSet
[in] Wenn TRUE, zeigt die Schaltfläche ein großes Bild an. Andernfalls zeigt die Schaltfläche ein kleines Bild an.

CMFCRibbonButton::SetDefaultCommand

Aktiviert den Standardbefehl für die Menübandschaltfläche.

void SetDefaultCommand(BOOL bSet=TRUE);

Parameter

bSet
[in] Wenn TRUE, kann die Schaltfläche den Standardbefehl ausführen. Wenn FALSE, kann die Schaltfläche den Standardbefehl nicht ausführen.

Hinweise

bSet ist nur relevant, wenn die Schaltfläche über ein Menü verfügt. Wenn bSet TRUE ist, kann die Schaltfläche den Standardbefehl ausführen, und das zugewiesene Popupmenü wird nur angezeigt, wenn ein Benutzer auf den Pfeil am rechten Rand der Schaltfläche klickt. Andernfalls kann die Schaltfläche den Standardbefehl nicht ausführen, und das Popupmenü wird unabhängig davon angezeigt, auf welchen Bereich der Schaltfläche der Benutzer klickt.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Parameter

[in] lpszText

Hinweise

CMFCRibbonButton::SetImageIndex

Weist dem Schaltflächenbild einen Index zu.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Parameter

nIndex
[in] Gibt den Bildindex an.

bLargeImage
[in] Wenn WAHR, bezieht sich der angegebene Index auf die Liste der großen Bilder. Andernfalls bezieht sich der Index auf die Liste der kleinen Bilder.

CMFCRibbonButton::SetMenu

Weist der Menüband-Schaltfläche ein Popupmenü zu.

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

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

Parameter

hMenu
Ein Handle zu einem Windows-Menü.

bIsDefaultCommand
Wenn WAHR, kann die Schaltfläche den Standardbefehl ausführen; andernfalls zeigt die Schaltfläche ein Popupmenü an.

bRightAlign
Wenn TRUE, ist das Menü rechtsbündig ausgerichtet. Andernfalls wird das Menü linksbündig ausgerichtet.

uiMenuResID
Eine Menüressourcen-ID.

Hinweise

Wenn die Anwendung das Menü der Schaltfläche zuweist, zeigt die Schaltfläche einen Pfeil auf der rechten Seite an. Wenn bIsDefaultCommand TRUE ist, wird das Menü nur angezeigt, wenn der Benutzer auf den Pfeil klickt. Wenn der Benutzer auf die Schaltfläche klickt, wird der Standardbefehl ausgeführt. Wenn bIsDefaultCommand FALSCH ist, wird das Menü angezeigt, indem sie auf eine beliebige Stelle auf der Schaltfläche klicken.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Parameter

[in] pParent

Hinweise

CMFCRibbonButton::SetRightAlignMenu

Richtet das Popupmenü am Rand der Schaltfläche aus.

void SetRightAlignMenu(BOOL bSet=TRUE);

Parameter

bSet
[in] Wenn TRUE, ist das Menü rechtsbündig ausgerichtet. Andernfalls wird das Menü linksbündig ausgerichtet.

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

Parameter

[in] lpszText

Hinweise

Weitere Informationen

Hierarchiediagramm
Klassen