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