Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Класс CMFCRibbonButton реализует кнопки, которые можно размещать на элементах ленты, например на панелях, панелях быстрого доступа и во всплывающих меню.
Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.
Синтаксис
class CMFCRibbonButton : public CMFCRibbonBaseElement
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| CMFCRibbonButton::CMFCRibbonButton | Создает объект "кнопка ленты". |
Открытые методы
Защищенные методы
| Имя | Описание |
|---|---|
| CMFCRibbonButton::OnClick | Вызывается платформой по нажатию кнопки. |
Пример
В следующем примере демонстрируется использование различных методов класса CMFCRibbonButton. Показывается создание объекта класса CMFCRibbonButton, назначение всплывающего меню кнопке ленты, назначение кнопке описания, удаление элемента из всплывающего меню, а также расположение всплывающего меню справа от края кнопки.
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);
Замечания
Чтобы использовать кнопку ленты в приложении, создайте объект кнопки и добавьте его на соответствующую панель ленты.
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));
Иерархия наследования
Требования
Заголовок: afxribbonbutton.h
CMFCRibbonButton::AddSubItem
Добавляет во всплывающее меню элемент, связанный с кнопкой.
void AddSubItem(
CMFCRibbonBaseElement* pSubItem,
int nIndex=-1);
Параметры
pSubItem
[in] Указывает указатель на новый элемент для добавления.
nIndex
[in] Указывает индекс, по которому необходимо добавить элемент в массив элементов меню кнопки; -1, чтобы добавить элемент в конце массива элементов меню.
CMFCRibbonButton::CanBeStretched
virtual BOOL CanBeStretched();
Возвращаемое значение
Замечания
CMFCRibbonButton::CleanUpSizes
virtual void CleanUpSizes();
Замечания
CMFCRibbonButton::ClosePopupMenu
virtual void ClosePopupMenu();
Замечания
CMFCRibbonButton::CMFCRibbonButton
Создает объект "кнопка ленты".
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);
Параметры
nID
[in] Указывает идентификатор команды кнопки.
lpszText
[in] Указывает текстовую метку кнопки.
nSmallImageIndex
[in] Задает отсчитываемый от нуля индекс небольшого изображения кнопки в списке изображений родительской категории.
nLargeImageIndex
[in] Задает отсчитываемый от нуля индекс большого изображения кнопки в списке изображений родительской категории.
hIcon
[in] Указывает дескриптор значка, который приложение использует в качестве изображения кнопки.
Пример
В следующем примере показано, как создать CMFCRibbonButton объект.
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);
Параметры
[in] PDC
[in] bCalcOnly
Возвращаемое значение
Замечания
CMFCRibbonButton::D rawImage
virtual void DrawImage(
CDC* pDC,
RibbonImageType type,
CRect rectImage);
Параметры
[in] PDC
[in] тип
[in] rectImage
Замечания
CMFCRibbonButton::D rawRibbonText
virtual int DrawRibbonText(
CDC* pDC,
const CString& strText,
CRect rectText,
UINT uiDTFlags,
COLORREF clrText = (COLORREF)-1);
Параметры
[in] PDC
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText
Возвращаемое значение
Замечания
CMFCRibbonButton::FindSubItemIndexByID
Возвращает индекс элемента всплывающего меню, связанного с указанным идентификатором команды.
int FindSubItemIndexByID(UINT uiID) const;
Параметры
uiID
[in] Указывает идентификатор команды всплывающего пункта меню.
Возвращаемое значение
Отсчитываемый от нуля индекс дочернего элемента, связанного с uiID. -1, если такой вложенный элемент отсутствует.
CMFCRibbonButton::GetCommandRect
CRect GetCommandRect() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::GetCompactSize
virtual CSize GetCompactSize(CDC* pDC);
Параметры
[in] PDC
Возвращаемое значение
Замечания
CMFCRibbonButton::GetIcon
HICON GetIcon(BOOL bLargeIcon = TRUE) const;
Параметры
[in] bLargeIcon
Возвращаемое значение
Замечания
CMFCRibbonButton::GetImageIndex
Возвращает индекс изображения, связанного с кнопкой.
int GetImageIndex(BOOL bLargeImage) const;
Параметры
bLargeImage
[in] Если значение TRUE, возвращает индекс изображения в списке изображений, содержащий большие изображения; в противном случае возвращает индекс изображения в списке изображений, содержащий небольшие изображения.
Возвращаемое значение
Индекс изображения кнопки в связанном списке изображений.
CMFCRibbonButton::GetImageSize
virtual CSize GetImageSize(RibbonImageType type) const;
Параметры
[in] тип
Возвращаемое значение
Замечания
CMFCRibbonButton::GetIntermediateSize
virtual CSize GetIntermediateSize(CDC* pDC);
Параметры
[in] PDC
Возвращаемое значение
Замечания
CMFCRibbonButton::GetMenu
Возвращает дескриптор меню Windows, назначенному кнопке ленты.
HMENU GetMenu() const;
Возвращаемое значение
Дескриптор меню Windows, назначенный кнопке; ЗНАЧЕНИЕ NULL, если меню не назначено.
CMFCRibbonButton::GetMenuRect
CRect GetMenuRect() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::GetRegularSize
virtual CSize GetRegularSize(CDC* pDC);
Параметры
[in] PDC
Возвращаемое значение
Замечания
CMFCRibbonButton::GetSubItems
const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::GetTextRowHeight
int GetTextRowHeight() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::GetToolTipText
virtual CString GetToolTipText() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::HasCompactMode
virtual BOOL HasCompactMode() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::HasIntermediateMode
virtual BOOL HasIntermediateMode() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::HasLargeMode
virtual BOOL HasLargeMode() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::HasMenu
virtual BOOL HasMenu() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsAlwaysDrawBorder
virtual BOOL IsAlwaysDrawBorder() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsAlwaysLargeImage
virtual BOOL IsAlwaysLargeImage() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsApplicationButton
virtual BOOL IsApplicationButton() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsCommandAreaHighlighted
virtual BOOL IsCommandAreaHighlighted() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsDefaultCommand
Указывает, включена ли команда по умолчанию для кнопки ленты.
BOOL IsDefaultCommand() const;
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если вы включили команду по умолчанию для кнопки ленты; Значение FALSE в противном случае.
CMFCRibbonButton::IsDefaultPanelButton
virtual BOOL IsDefaultPanelButton() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsDrawTooltipImage
virtual BOOL IsDrawTooltipImage() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsLargeImage
BOOL IsLargeImage() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsMenuAreaHighlighted
virtual BOOL IsMenuAreaHighlighted() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsMenuOnBottom
BOOL IsMenuOnBottom() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsPopupDefaultMenuLook
virtual BOOL IsPopupDefaultMenuLook() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::IsRightAlignMenu
Указывает, правильно ли выровнено меню.
BOOL IsRightAlignMenu() const;
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если меню выровнено по правому краю; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCRibbonButton::IssingleLineText
BOOL IsSingleLineText() const;
Возвращаемое значение
Замечания
CMFCRibbonButton::OnCalcTextSize
virtual void OnCalcTextSize(CDC* pDC);
Параметры
[in] PDC
Замечания
CMFCRibbonButton::OnClick
Вызывается платформой по нажатию кнопки.
virtual void OnClick(CPoint point);
Параметры
point
[in] Указывает положение щелчка мыши.
Замечания
Переопределите этот метод в производном классе, если вы хотите обработать это событие.
CMFCRibbonButton::OnDraw
virtual void OnDraw(CDC* pDC);
Параметры
[in] PDC
Замечания
CMFCRibbonButton::OnDrawBorder
virtual void OnDrawBorder(CDC* pDC);
Параметры
[in] PDC
Замечания
CMFCRibbonButton::OnFillBackground
virtual COLORREF OnFillBackground(CDC* pDC);
Параметры
[in] PDC
Возвращаемое значение
Замечания
CMFCRibbonButton::RemoveAllSubItems
Удаляет из всплывающего меню все элементы.
void RemoveAllSubItems();
CMFCRibbonButton::RemoveSubItem
Удаляет элемент из всплывающего меню.
BOOL RemoveSubItem(int nIndex);
Параметры
nIndex
[in] Указывает отсчитываемый от нуля индекс элемента меню, который требуется удалить.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если указанный элемент успешно удален; В противном случае значение FALSE, если nIndex является отрицательным или превышает количество элементов меню во всплывающем меню.
CMFCRibbonButton::SetACCData
Задает данные специальных возможностей для кнопки ленты.
virtual BOOL SetACCData(
CWnd* pParent,
CAccessibilityData& data);
Параметры
pParent
Родительское окно для элемента ленты.
data
Данные специальных возможностей для элемента ленты.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
CMFCRibbonButton::SetAlwaysLargeImage
Задает размер свернутой кнопки: крупная или малая.
void SetAlwaysLargeImage(BOOL bSet=TRUE);
Параметры
bSet
[in] Если значение TRUE, кнопка отображает большое изображение. В противном случае кнопка отображает небольшое изображение.
CMFCRibbonButton::SetDefaultCommand
Делает для кнопки ленты доступной команду по умолчанию.
void SetDefaultCommand(BOOL bSet=TRUE);
Параметры
bSet
[in] Если значение TRUE, кнопка может выполнить свою команду по умолчанию. Если значение FALSE, кнопка не может выполнить свою команду по умолчанию.
Замечания
bSet имеет значение только в том случае, если кнопка имеет меню. Если bSet имеет значение TRUE, кнопка может выполнить свою команду по умолчанию, а назначенное всплывающее меню отображается только в том случае, если пользователь щелкает стрелку в правом краю кнопки. В противном случае кнопка не может выполнить свою команду по умолчанию, а всплывающее меню отображается независимо от области кнопки, которую пользователь щелкает.
CMFCRibbonButton::SetDescription
virtual void SetDescription(LPCTSTR lpszText);
Параметры
[in] lpszText
Замечания
CMFCRibbonButton::SetImageIndex
Назначает индекс изображению кнопки.
void SetImageIndex(
int nIndex,
BOOL bLargeImage);
Параметры
nIndex
[in] Указывает индекс изображения.
bLargeImage
[in] Если значение TRUE, указанный индекс ссылается на список больших изображений. В противном случае индекс ссылается на список небольших изображений.
CMFCRibbonButton::SetMenu
Назначает всплывающее меню кнопке ленты.
void SetMenu(
HMENU hMenu,
BOOL bIsDefaultCommand=FALSE,
BOOL bRightAlign=FALSE);
void SetMenu(
UINT uiMenuResID,
BOOL bIsDefaultCommand=FALSE,
BOOL bRightAlign=FALSE);
Параметры
hMenu
Дескриптор меню Windows.
bIsDefaultCommand
Если значение TRUE, кнопка может выполнить свою команду по умолчанию; в противном случае кнопка отображает всплывающее меню.
bRightAlign
Если значение TRUE, меню выровнено по правому краю. В противном случае меню выровнено по левому краю.
uiMenuResID
Идентификатор ресурса меню.
Замечания
Когда приложение назначает меню кнопке, кнопка отображает стрелку в правой части. Если bIsDefaultCommand имеет значение TRUE, меню отображается только в том случае, если пользователь щелкает стрелку. Если пользователь нажимает кнопку, выполняется его команда по умолчанию. Если bIsDefaultCommand имеет значение FALSE, меню отображается, щелкнув в любом месте кнопки.
CMFCRibbonButton::SetParentCategory
virtual void SetParentCategory(CMFCRibbonCategory* pParent);
Параметры
[in] pParent
Замечания
CMFCRibbonButton::SetRightAlignMenu
Выравнивает всплывающее меню по краю кнопки.
void SetRightAlignMenu(BOOL bSet=TRUE);
Параметры
bSet
[in] Если значение TRUE, меню выровнено по правому краю. В противном случае меню выровнено по левому краю
CMFCRibbonButton::SetText
virtual void SetText(LPCTSTR lpszText);
Параметры
[in] lpszText