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
Název | Popis |
---|---|
CMFCRibbonButton::CMFCRibbonButton | Vytvoří objekt tlačítka pásu karet. |
Veřejné metody
Chráněné metody
Název | 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
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();
Návratová 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
Návratová 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
Návratová 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.
Návratová 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;
Návratová hodnota
Poznámky
CMFCRibbonButton::GetCompactSize
virtual CSize GetCompactSize(CDC* pDC);
Parametry
[v] pDC
Návratová hodnota
Poznámky
CMFCRibbonButton::GetIcon
HICON GetIcon(BOOL bLargeIcon = TRUE) const;
Parametry
[v] bLargeIcon
Návratová 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.
Návratová 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
Návratová hodnota
Poznámky
CMFCRibbonButton::GetIntermediateSize
virtual CSize GetIntermediateSize(CDC* pDC);
Parametry
[v] pDC
Návratová 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;
Návratová 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;
Návratová hodnota
Poznámky
CMFCRibbonButton::GetRegularSize
virtual CSize GetRegularSize(CDC* pDC);
Parametry
[v] pDC
Návratová hodnota
Poznámky
CMFCRibbonButton::GetSubItems
const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::GetTextRowHeight
int GetTextRowHeight() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::GetToolTipText
virtual CString GetToolTipText() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::HasCompactMode
virtual BOOL HasCompactMode() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::HasIntermediateMode
virtual BOOL HasIntermediateMode() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::HasLargeMode
virtual BOOL HasLargeMode() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::HasMenu
virtual BOOL HasMenu() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsAlwaysDrawBorder
virtual BOOL IsAlwaysDrawBorder() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsAlwaysLargeImage
virtual BOOL IsAlwaysLargeImage() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsApplicationButton
virtual BOOL IsApplicationButton() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsCommandAreaHighlighted
virtual BOOL IsCommandAreaHighlighted() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsDefaultCommand
Určuje, jestli je povolený výchozí příkaz tlačítka pásu karet.
BOOL IsDefaultCommand() const;
Návratová hodnota
TRUE, pokud jste povolili výchozí příkaz pro tlačítko pásu karet; JINAK NEPRAVDA.
CMFCRibbonButton::IsDefaultPanelButton
virtual BOOL IsDefaultPanelButton() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsDrawTooltipImage
virtual BOOL IsDrawTooltipImage() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsLargeImage
BOOL IsLargeImage() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsMenuAreaHighlighted
virtual BOOL IsMenuAreaHighlighted() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsMenuOnBottom
BOOL IsMenuOnBottom() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsPopupDefaultMenuLook
virtual BOOL IsPopupDefaultMenuLook() const;
Návratová hodnota
Poznámky
CMFCRibbonButton::IsRightAlignMenu
Určuje, jestli je nabídka zarovnaná doprava.
BOOL IsRightAlignMenu() const;
Návratová hodnota
TRUE, pokud je nabídka zarovnaná doprava; jinak NEPRAVDA.
CMFCRibbonButton::IsSingleLineText
BOOL IsSingleLineText() const;
Návratová 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
Návratová 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.
Návratová 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
data
Data přístupnosti pro prvek pásu karet
Návratová 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