Klasa CMFCRibbonButton
Klasa CMFCRibbonButton
implementuje przyciski, które można umieścić na elementach paska wstążki, takich jak panele, paski narzędzi szybkiego dostępu i wyskakujące menu.
Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.
Składnia
class CMFCRibbonButton : public CMFCRibbonBaseElement
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCRibbonButton::CMFCRibbonButton | Tworzy obiekt przycisku wstążki. |
Metody publiczne
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CMFCRibbonButton::OnClick | Wywoływana przez platformę po kliknięciu przycisku przez użytkownika. |
Przykład
W poniższym przykładzie pokazano, jak używać różnych metod w CMFCRibbonButton
klasie . W przykładzie pokazano, jak utworzyć obiekt CMFCRibbonButton
klasy, przypisać menu podręczne do przycisku wstążki, ustawić opis przycisku, usunąć element menu z menu podręcznego i wyrównać menu podręczne do krawędzi przycisku.
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);
Uwagi
Aby użyć przycisku wstążki w aplikacji, skonstruuj obiekt przycisku i dodaj go do odpowiedniego panelu wstążki.
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));
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxribbonbutton.h
CMFCRibbonButton::AddSubItem
Dodaje element menu do menu podręcznego skojarzonego z przyciskiem .
void AddSubItem(
CMFCRibbonBaseElement* pSubItem,
int nIndex=-1);
Parametry
pSubItem
[in] Określa wskaźnik do nowego elementu do dodania.
nIndex
[in] Określa indeks, w którym ma zostać dodany element do tablicy elementów menu przycisku; -1, aby dodać element na końcu tablicy elementów menu.
CMFCRibbonButton::CanBeStretched
virtual BOOL CanBeStretched();
Wartość zwracana
Uwagi
CMFCRibbonButton::CleanUpSizes
virtual void CleanUpSizes();
Uwagi
CMFCRibbonButton::ClosePopupMenu
virtual void ClosePopupMenu();
Uwagi
CMFCRibbonButton::CMFCRibbonButton
Tworzy obiekt przycisku wstążki.
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
[in] Określa identyfikator polecenia przycisku.
lpszText
[in] Określa etykietę tekstową przycisku.
nSmallImageIndex
[in] Określa indeks zerowy małego obrazu przycisku na liście obrazów kategorii nadrzędnej.
nLargeImageIndex
[in] Określa indeks zerowy dużego obrazu przycisku na liście obrazów kategorii nadrzędnej.
hIcon
[in] Określa dojście do ikony używanej przez aplikację jako obrazu przycisku.
Przykład
W poniższym przykładzie pokazano, jak utworzyć CMFCRibbonButton
obiekt.
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
[in] PDC
[in] bCalcOnly
Wartość zwracana
Uwagi
CMFCRibbonButton::D rawImage
virtual void DrawImage(
CDC* pDC,
RibbonImageType type,
CRect rectImage);
Parametry
[in] PDC
[in] typ
[in] rectImage
Uwagi
CMFCRibbonButton::D rawRibbonText
virtual int DrawRibbonText(
CDC* pDC,
const CString& strText,
CRect rectText,
UINT uiDTFlags,
COLORREF clrText = (COLORREF)-1);
Parametry
[in] PDC
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText
Wartość zwracana
Uwagi
CMFCRibbonButton::FindSubItemIndexByID
Zwraca indeks elementu menu podręcznego skojarzonego z określonym identyfikatorem polecenia.
int FindSubItemIndexByID(UINT uiID) const;
Parametry
identyfikator uiID
[in] Określa identyfikator polecenia elementu menu podręcznego.
Wartość zwracana
Indeks oparty na zera elementu podrzędnego skojarzony z identyfikatorem uiID. -1, jeśli nie ma takiego elementu podrzędnego.
CMFCRibbonButton::GetCommandRect
CRect GetCommandRect() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::GetCompactSize
virtual CSize GetCompactSize(CDC* pDC);
Parametry
[in] PDC
Wartość zwracana
Uwagi
CMFCRibbonButton::GetIcon
HICON GetIcon(BOOL bLargeIcon = TRUE) const;
Parametry
[in] bLargeIcon
Wartość zwracana
Uwagi
CMFCRibbonButton::GetImageIndex
Zwraca indeks obrazu skojarzonego z przyciskiem .
int GetImageIndex(BOOL bLargeImage) const;
Parametry
bLargeImage
[in] Jeśli wartość TRUE, zwraca indeks obrazu na liście obrazów, który zawiera duże obrazy; w przeciwnym razie zwraca indeks obrazu na liście obrazów, który zawiera małe obrazy.
Wartość zwracana
Indeks obrazu przycisku na skojarzonej liście obrazów.
CMFCRibbonButton::GetImageSize
virtual CSize GetImageSize(RibbonImageType type) const;
Parametry
[in] typ
Wartość zwracana
Uwagi
CMFCRibbonButton::GetIntermediateSize
virtual CSize GetIntermediateSize(CDC* pDC);
Parametry
[in] PDC
Wartość zwracana
Uwagi
CMFCRibbonButton::GetMenu
Zwraca uchwyt do menu systemu Windows przypisanego do przycisku wstążki.
HMENU GetMenu() const;
Wartość zwracana
Uchwyt do menu systemu Windows przypisany do przycisku; Wartość NULL, jeśli nie ma przypisanego menu.
CMFCRibbonButton::GetMenuRect
CRect GetMenuRect() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::GetRegularSize
virtual CSize GetRegularSize(CDC* pDC);
Parametry
[in] PDC
Wartość zwracana
Uwagi
CMFCRibbonButton::GetSubItems
const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::GetTextRowHeight
int GetTextRowHeight() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::GetToolTipText
virtual CString GetToolTipText() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::HasCompactMode
virtual BOOL HasCompactMode() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::HasIntermediateMode
virtual BOOL HasIntermediateMode() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::HasLargeMode
virtual BOOL HasLargeMode() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::HasMenu
virtual BOOL HasMenu() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsAlwaysDrawBorder
virtual BOOL IsAlwaysDrawBorder() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsAlwaysLargeImage
virtual BOOL IsAlwaysLargeImage() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsApplicationButton
virtual BOOL IsApplicationButton() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsCommandAreaHighlighted
virtual BOOL IsCommandAreaHighlighted() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsDefaultCommand
Określa, czy jest włączone domyślne polecenie dla przycisku wstążki.
BOOL IsDefaultCommand() const;
Wartość zwracana
WARTOŚĆ TRUE, jeśli włączono domyślne polecenie dla przycisku wstążki; FAŁSZ w przeciwnym razie.
CMFCRibbonButton::IsDefaultPanelButton
virtual BOOL IsDefaultPanelButton() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsDrawTooltipImage
virtual BOOL IsDrawTooltipImage() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsLargeImage
BOOL IsLargeImage() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsMenuAreaHighlighted
virtual BOOL IsMenuAreaHighlighted() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsMenuOnBottom
BOOL IsMenuOnBottom() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsPopupDefaultMenuLook
virtual BOOL IsPopupDefaultMenuLook() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::IsRightAlignMenu
Określa, czy menu jest wyrównane do prawej.
BOOL IsRightAlignMenu() const;
Wartość zwracana
Wartość TRUE, jeśli menu jest wyrównane do prawej; w przeciwnym razie FAŁSZ.
CMFCRibbonButton::IsSingleLineText
BOOL IsSingleLineText() const;
Wartość zwracana
Uwagi
CMFCRibbonButton::OnCalcTextSize
virtual void OnCalcTextSize(CDC* pDC);
Parametry
[in] PDC
Uwagi
CMFCRibbonButton::OnClick
Wywoływana przez platformę po kliknięciu przycisku przez użytkownika.
virtual void OnClick(CPoint point);
Parametry
punkt
[in] Określa położenie kliknięcia myszą.
Uwagi
Zastąp tę metodę w klasie pochodnej, jeśli chcesz obsłużyć to zdarzenie.
CMFCRibbonButton::OnDraw
virtual void OnDraw(CDC* pDC);
Parametry
[in] PDC
Uwagi
CMFCRibbonButton::OnDrawBorder
virtual void OnDrawBorder(CDC* pDC);
Parametry
[in] PDC
Uwagi
CMFCRibbonButton::OnFillBackground
virtual COLORREF OnFillBackground(CDC* pDC);
Parametry
[in] PDC
Wartość zwracana
Uwagi
CMFCRibbonButton::RemoveAllSubItems
Usuwa wszystkie elementy menu z menu podręcznego.
void RemoveAllSubItems();
CMFCRibbonButton::RemoveSubItem
Usuwa element menu z menu podręcznego.
BOOL RemoveSubItem(int nIndex);
Parametry
nIndex
[in] Określa indeks zerowy elementu menu, który chcesz usunąć.
Wartość zwracana
WARTOŚĆ TRUE, jeśli określony element został pomyślnie usunięty; w przeciwnym razie fałsz, jeśli nIndex jest ujemny lub przekracza liczbę elementów menu w menu podręcznym.
CMFCRibbonButton::SetACCData
Ustawia dane ułatwień dostępu dla przycisku wstążki.
virtual BOOL SetACCData(
CWnd* pParent,
CAccessibilityData& data);
Parametry
PParent
Okno nadrzędne elementu wstążki.
data
Dane ułatwień dostępu dla elementu wstążki.
Wartość zwracana
Zwraca wartość TRUE, jeśli operacja powiedzie się; w przeciwnym razie FAŁSZ.
Uwagi
CMFCRibbonButton::SetAlwaysLargeImage
Określa, czy przycisk wyświetla duży, czy mały obraz, gdy użytkownik zwinie przycisk.
void SetAlwaysLargeImage(BOOL bSet=TRUE);
Parametry
Zestaw bSet
[in] Jeśli wartość TRUE, przycisk wyświetla duży obraz. W przeciwnym razie przycisk wyświetla mały obraz.
CMFCRibbonButton::SetDefaultCommand
Włącza domyślne polecenie dla przycisku wstążki.
void SetDefaultCommand(BOOL bSet=TRUE);
Parametry
Zestaw bSet
[in] Jeśli wartość TRUE, przycisk może wykonać jego domyślne polecenie. Jeśli wartość FALSE, przycisk nie może wykonać jego domyślnego polecenia.
Uwagi
Zestaw bSet jest istotny tylko wtedy, gdy przycisk ma menu. Jeśli ustawienie bSet ma wartość TRUE, przycisk może wykonać jego domyślne polecenie, a przypisane menu podręczne jest wyświetlane tylko wtedy, gdy użytkownik kliknie strzałkę w prawej krawędzi przycisku. W przeciwnym razie przycisk nie może wykonać domyślnego polecenia, a menu podręczne jest wyświetlane niezależnie od tego, który obszar przycisku kliknie użytkownik.
CMFCRibbonButton::SetDescription
virtual void SetDescription(LPCTSTR lpszText);
Parametry
[in] lpszText
Uwagi
CMFCRibbonButton::SetImageIndex
Przypisuje indeks do obrazu przycisku.
void SetImageIndex(
int nIndex,
BOOL bLargeImage);
Parametry
nIndex
[in] Określa indeks obrazu.
bLargeImage
[in] Jeśli wartość TRUE, określony indeks odwołuje się do listy dużych obrazów. W przeciwnym razie indeks odwołuje się do listy małych obrazów.
CMFCRibbonButton::SetMenu
Przypisuje menu podręczne do przycisku wstążki.
void SetMenu(
HMENU hMenu,
BOOL bIsDefaultCommand=FALSE,
BOOL bRightAlign=FALSE);
void SetMenu(
UINT uiMenuResID,
BOOL bIsDefaultCommand=FALSE,
BOOL bRightAlign=FALSE);
Parametry
hMenu
Uchwyt do menu systemu Windows.
bIsDefaultCommand
Jeśli wartość TRUE, przycisk może wykonać jego domyślne polecenie; w przeciwnym razie przycisk wyświetla menu podręczne.
bRightAlign
Jeśli wartość TRUE, menu jest wyrównane do prawej. W przeciwnym razie menu jest wyrównane do lewej.
uiMenuResID
Identyfikator zasobu menu.
Uwagi
Gdy aplikacja przypisze menu do przycisku, przycisk wyświetla strzałkę po prawej stronie. Jeśli bIsDefaultCommand ma wartość TRUE, menu jest wyświetlane tylko wtedy, gdy użytkownik kliknie strzałkę. Jeśli użytkownik kliknie przycisk, zostanie wykonane jego domyślne polecenie. Jeśli bIsDefaultCommand ma wartość FALSE, menu zostanie wyświetlone, klikając dowolne miejsce na przycisku.
CMFCRibbonButton::SetParentCategory
virtual void SetParentCategory(CMFCRibbonCategory* pParent);
Parametry
[in] PParent
Uwagi
CMFCRibbonButton::SetRightAlignMenu
Wyrównuje menu podręczne do krawędzi przycisku.
void SetRightAlignMenu(BOOL bSet=TRUE);
Parametry
Zestaw bSet
[in] Jeśli wartość TRUE, menu jest wyrównane do prawej. W przeciwnym razie menu jest wyrównane do lewej
CMFCRibbonButton::SetText
virtual void SetText(LPCTSTR lpszText);
Parametry
[in] lpszText