Sdílet prostřednictvím


CMFCRibbonButton – třída

Třída CMFCRibbonButton implementuje tlačítka, která můžete umístit na prvky pásu karet, jako jsou panely, panely nástrojů Rychlý přístup a místní nabídky.

Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

Syntaxe

class CMFCRibbonButton : public CMFCRibbonBaseElement

Členové

Veřejné konstruktory

Jméno popis
CMFCRibbonButton::CMFCRibbonButton Vytvoří objekt tlačítka pásu karet.

Veřejné metody

Jméno popis
CMFCRibbonButton::AddSubItem Přidá položku nabídky do místní nabídky, která je přidružená k tlačítku.
CMFCRibbonButton::CanBeStretched (Přepsání CMFCRibbonBaseElement::CanBeStretched.)
CMFCRibbonButton::CleanUpSizes (Přepsání CMFCRibbonBaseElement::CleanUpSizes.)
CMFCRibbonButton::ClosePopupMenu (Přepsání CMFCRibbonBaseElement::ClosePopupMenu.)
CMFCRibbonButton::D rawBottomText
CMFCRibbonButton::D rawImage (Přepsání CMFCRibbonBaseElement::D rawImage.)
CMFCRibbonButton::D rawRibbonText
CMFCRibbonButton::FindSubItemIndexByID Vrátí index položky místní nabídky, která je přidružená k zadanému ID příkazu.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize Vrátí kompaktní velikost prvku pásu karet. (Přepsání CMFCRibbonBaseElement::GetCompactSize.)
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex Vrátí index obrázku přidruženého k tlačítku.
CMFCRibbonButton::GetImageSize Vrátí velikost obrázku prvku pásu karet. (Přepsání CMFCRibbonBaseElement::GetImageSize.)
CMFCRibbonButton::GetIntermediateSize Vrátí velikost prvku pásu karet v jeho přechodném stavu. (Přepsání CMFCRibbonBaseElement::GetIntermediateSize.)
CMFCRibbonButton::GetMenu Vrátí úchyt do nabídky Windows, která je přiřazená tlačítku pásu karet.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize Vrátí běžnou velikost prvku pásu karet. (Přepsání CMFCRibbonBaseElement::GetRegularSize.)
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText Vrátí text popisu prvku pásu karet. (Přepsání CMFCRibbonBaseElement::GetToolTipText.)
CMFCRibbonButton::HasCompactMode Určuje, zda má prvek pásu karet kompaktní režim. (Přepsání CMFCRibbonBaseElement::HasCompactMode.)
CMFCRibbonButton::HasIntermediateMode Určuje, zda má prvek pásu karet přechodný režim. (Přepsání CMFCRibbonBaseElement::HasIntermediateMode.)
CMFCRibbonButton::HasLargeMode Určuje, zda má prvek pásu karet velký režim. (Přepsání CMFCRibbonBaseElement::HasLargeMode.)
CMFCRibbonButton::HasMenu (Přepsání CMFCRibbonBaseElement::HasMenu.)
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (Přepsání CMFCRibbonBaseElement::IsAlwaysLargeImage.)
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand Určuje, jestli jste pro tlačítko pásu karet povolili výchozí příkaz.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu Určuje, zda je nabídka zarovnaná doprava.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextsize (Přepsání CMFCRibbonBaseElement::OnCalcTextsize.)
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw Volá se rozhraním pro kreslení prvku pásu karet. (Přepsání CMFCRibbonBaseElement::OnDraw.)
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems Odebere všechny položky nabídky z místní nabídky.
CMFCRibbonButton::RemoveSubItem Odebere položku nabídky z místní nabídky.
CMFCRibbonButton::SetACCData (Přepsání CMFCRibbonBaseElement::SetACCData.)
CMFCRibbonButton::SetAlwaysLargeImage Určuje, jestli se při sbalení tlačítka zobrazí velký nebo malý obrázek.
CMFCRibbonButton::SetDefaultCommand Povolí výchozí příkaz pro tlačítko pásu karet.
CMFCRibbonButton::SetDescription Nastaví popis prvku pásu karet. (Přepsání CMFCRibbonBaseElement::SetDescription.)
CMFCRibbonButton::SetImageIndex Přiřadí index k obrázku tlačítka.
CMFCRibbonButton::SetMenu Přiřadí místní nabídku tlačítku pásu karet.
CMFCRibbonButton::SetParentCategory (Přepsání CMFCRibbonBaseElement::SetParentCategory.)
CMFCRibbonButton::SetRightAlignMenu Zarovná místní nabídku napravo od tlačítka.
CMFCRibbonButton::SetText Nastaví text pro prvek pásu karet. (Přepsání CMFCRibbonBaseElement::SetText.)

Chráněné metody

Jméno popis
CMFCRibbonButton::OnClick Volá se rozhraním, když uživatel klikne na tlačítko.

Příklad

Následující příklad ukazuje, jak používat různé metody ve CMFCRibbonButton třídě. Příklad ukazuje, jak vytvořit objekt CMFCRibbonButton třídy, přiřadit místní nabídku k tlačítku pásu karet, nastavit popis tlačítka, odebrat položku nabídky z místní nabídky a vpravo zarovnat místní nabídku k okraji tlačítka.

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

Poznámky

Pokud chcete v aplikaci použít tlačítko pásu karet, vytvořte objekt tlačítka a přidejte ho na příslušný panel pásu karet.

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

Hierarchie dědičnosti

Objekt CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Požadavky

Hlavička: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

Přidá položku nabídky do místní nabídky, která je přidružená k tlačítku.

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

Parametry

pSubItem
[v] Určuje ukazatel na nový prvek, který chcete přidat.

nIndex
[v] Určuje index, pro který chcete přidat prvek do pole položek nabídky tlačítka; -1 pro přidání prvku na konec pole položek nabídky.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Vrácená hodnota

Poznámky

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

Poznámky

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

Poznámky

CMFCRibbonButton::CMFCRibbonButton

Vytvoří objekt tlačítka pásu karet.

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

Parametry

Nid
[v] Určuje ID příkazu tlačítka.

lpszText
[v] Určuje textový popisek tlačítka.

nSmallImageIndex
[v] Určuje nulový index malého obrázku tlačítka v seznamu obrázků nadřazené kategorie.

nLargeImageIndex
[v] Určuje index velkého obrázku tlačítka na nule v seznamu obrázků nadřazené kategorie.

hIcon
[v] Určuje popisovač ikony, kterou aplikace používá jako obrázek tlačítka.

Příklad

Následující příklad ukazuje, jak sestavit CMFCRibbonButton objekt.

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

Parametry

[v] Pdc
[v] bCalcOnly

Vrácená hodnota

Poznámky

CMFCRibbonButton::D rawImage

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

Parametry

[v] Pdc
[v] Typ
[v] rectImage

Poznámky

CMFCRibbonButton::D rawRibbonText

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

Parametry

[v] Pdc
[v] strText
[v] rectText
[v] uiDTFlags
[v] clrText

Vrácená hodnota

Poznámky

CMFCRibbonButton::FindSubItemIndexByID

Vrátí index položky místní nabídky, která je přidružená k zadanému ID příkazu.

int FindSubItemIndexByID(UINT uiID) const;

Parametry

UIID
[v] Určuje ID příkazu položky místní nabídky.

Vrácená hodnota

Index dílčí položky, která je přidružená k identifikátoru uiID, je založená na nule. -1, pokud taková dílčí položka neexistuje.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parametry

[v] Pdc

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Parametry

[v] bLargeIcon

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetImageIndex

Vrátí index obrázku přidruženého k tlačítku.

int GetImageIndex(BOOL bLargeImage) const;

Parametry

bLargeImage
[v] Pokud je pravda, vrátí index obrázku v seznamu obrázků, který obsahuje velké obrázky; v opačném případě vrátí index obrázku v seznamu obrázků, který obsahuje malé obrázky.

Vrácená hodnota

Index obrázku tlačítka v přidruženém seznamu obrázků.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Parametry

[v] Typ

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Parametry

[v] Pdc

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetMenu

Vrátí úchyt do nabídky Windows, která je přiřazená tlačítku pásu karet.

HMENU GetMenu() const;

Vrácená hodnota

Popisovač nabídky Windows přiřazené k tlačítku; NULL, pokud není přiřazena žádná nabídka.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parametry

[v] Pdc

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetSubItems

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

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsDefaultCommand

Určuje, jestli je povolený výchozí příkaz tlačítka pásu karet.

BOOL IsDefaultCommand() const;

Vrácená hodnota

TRUE, pokud jste povolili výchozí příkaz pro tlačítko pásu karet; JINAK NEPRAVDA.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::IsRightAlignMenu

Určuje, jestli je nabídka zarovnaná doprava.

BOOL IsRightAlignMenu() const;

Vrácená hodnota

TRUE, pokud je nabídka zarovnaná doprava; jinak NEPRAVDA.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Vrácená hodnota

Poznámky

CMFCRibbonButton::OnCalcTextsize

virtual void OnCalcTextSize(CDC* pDC);

Parametry

[v] Pdc

Poznámky

CMFCRibbonButton::OnClick

Volá se rozhraním, když uživatel klikne na tlačítko.

virtual void OnClick(CPoint point);

Parametry

Bod
[v] Určuje pozici kliknutí myší.

Poznámky

Tuto metodu přepište v odvozené třídě, pokud chcete zpracovat tuto událost.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

Parametry

[v] Pdc

Poznámky

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Parametry

[v] Pdc

Poznámky

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Parametry

[v] Pdc

Vrácená hodnota

Poznámky

CMFCRibbonButton::RemoveAllSubItems

Odebere všechny položky nabídky z místní nabídky.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

Odebere položku nabídky z místní nabídky.

BOOL RemoveSubItem(int nIndex);

Parametry

nIndex
[v] Určuje nulový index položky nabídky, kterou chcete odebrat.

Vrácená hodnota

TRUE, pokud byla zadaná položka úspěšně odebrána; jinak NEPRAVDA, pokud je hodnota nIndex záporná nebo překračuje počet položek nabídky v místní nabídce.

CMFCRibbonButton::SetACCData

Nastaví data přístupnosti pro tlačítko pásu karet.

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

Parametry

pParent
Nadřazené okno prvku pásu karet

Dat
Data přístupnosti pro prvek pásu karet

Vrácená hodnota

Vrátí hodnotu PRAVDA, pokud je úspěšná; jinak NEPRAVDA.

Poznámky

CMFCRibbonButton::SetAlwaysLargeImage

Určuje, jestli se při sbalení tlačítka zobrazí velký nebo malý obrázek.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Parametry

bSet
[v] Pokud je pravda, zobrazí se na tlačítku velký obrázek. V opačném případě se na tlačítku zobrazí malý obrázek.

CMFCRibbonButton::SetDefaultCommand

Povolí výchozí příkaz pro tlačítko pásu karet.

void SetDefaultCommand(BOOL bSet=TRUE);

Parametry

bSet
[v] Pokud je pravda, tlačítko může spustit výchozí příkaz. Pokud je false, tlačítko nemůže spustit výchozí příkaz.

Poznámky

Sada bSet je relevantní pouze v případech, kdy má tlačítko nabídku. Pokud je bSet pravda, tlačítko může spustit výchozí příkaz a přiřazená místní nabídka se zobrazí pouze v případě, že uživatel klikne na šipku na pravém okraji tlačítka. Jinak tlačítko nemůže spustit výchozí příkaz a místní nabídka se zobrazí bez ohledu na to, na kterou oblast tlačítka uživatel klikne.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Parametry

[v] lpszText

Poznámky

CMFCRibbonButton::SetImageIndex

Přiřadí index k obrázku tlačítka.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Parametry

nIndex
[v] Určuje index image.

bLargeImage
[v] Pokud je hodnota TRUE, zadaný index odkazuje na seznam velkých imagí. V opačném případě index odkazuje na seznam malých obrázků.

CMFCRibbonButton::SetMenu

Přiřadí místní nabídku tlačítku pásu karet.

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

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

Parametry

hMenu
Popisovač nabídky Windows.

bIsDefaultCommand
Pokud je pravda, tlačítko může spustit výchozí příkaz; v opačném případě se na tlačítku zobrazí místní nabídka.

bRightAlign
Pokud je hodnota TRUE, nabídka je zarovnaná doprava. V opačném případě je nabídka zarovnaná doleva.

uiMenuResID
ID prostředku nabídky.

Poznámky

Když aplikace přiřadí nabídku tlačítku, zobrazí se na jeho pravé straně šipka. Pokud bIsDefaultCommand je PRAVDA, zobrazí se nabídka pouze v případě, že uživatel klikne na šipku. Pokud uživatel klikne na tlačítko, spustí se jeho výchozí příkaz. Pokud bIsDefaultCommand je FALSE, zobrazí se nabídka kliknutím na libovolné místo na tlačítku.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Parametry

[v] pParent

Poznámky

CMFCRibbonButton::SetRightAlignMenu

Zarovná místní nabídku na okraj tlačítka.

void SetRightAlignMenu(BOOL bSet=TRUE);

Parametry

bSet
[v] Pokud je hodnota TRUE, nabídka je zarovnaná doprava. Jinak je nabídka zarovnaná doleva.

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

Parametry

[v] lpszText

Poznámky

Viz také

Graf hierarchie
Třídy