Класс CMFCRibbonColorButton
Класс CMFCRibbonColorButton
реализует кнопку цвета, которую можно добавить на панель ленты. Кнопка цвета ленты отображает раскрывающееся меню, содержащее одну или несколько палитр.
Синтаксис
class CMFCRibbonColorButton : public CMFCRibbonGallery
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CMFCRibbonColorButton::CMFCRibbonColorButton |
Открытые методы
Имя | Описание |
---|---|
CMFCRibbonColorButton::AddColorsGroup | Добавляет группу цветов в стандартную область цветов. |
CMFCRibbonColorButton::EnableAutomaticButton | Указывает, нажата ли кнопка Автоматически . |
CMFCRibbonColorButton::EnableOtherButton | Активирует кнопку Другие . |
CMFCRibbonColorButton::GetAutomaticColor | |
CMFCRibbonColorButton::GetColor | Возвращает выбранный в данный момент цвет. |
CMFCRibbonColorButton::GetColorBoxSize | Возвращает размер цветовых элементов, отображаемых на цветовой панели. |
CMFCRibbonColorButton::GetColumns | |
CMFCRibbonColorButton::GetHighlightedColor | Возвращает цвет элемента, выбранного в данный момент во всплывающей цветовой палитре. |
CMFCRibbonColorButton::RemoveAllColorGroups | Удаляет все группы цветов из стандартной области цветов. |
CMFCRibbonColorButton::SetColor | Выбирает цвет в стандартной области цветов. |
CMFCRibbonColorButton::SetColorBoxSize | Задает размер всех цветовых элементов, отображаемых на цветовой панели. |
CMFCRibbonColorButton::SetColorName | |
CMFCRibbonColorButton::SetColumns | |
CMFCRibbonColorButton::SetDocumentColors | Задает список значений RGB, которые должны отображаться в области цветов документа. |
CMFCRibbonColorButton::SetPalette | |
CMFCRibbonColorButton::UpdateColor |
Замечания
Когда пользователь нажимает кнопку цвета на ленте, отображается цветовая панель. По умолчанию эта панель содержит палитру выбора цвета, называемую стандартной областью цветов. Помимо этого, цветовая панель может содержать кнопку Автоматически , которая позволяет пользователю выбрать цвет по умолчанию, и кнопку Другие , которая позволяет открыть всплывающую цветовую палитру с дополнительными цветами.
Пример
В приведенном ниже примере демонстрируется использование различных методов класса CMFCRibbonColorButton
. В нем показано, как создать объект CMFCRibbonColorButton
, задать большое изображение, активировать кнопку Автоматически , активировать кнопку Другие , задать число столбцов, задать размер всех цветовых элементов, отображаемых на цветовой панели, добавить группу цветов в стандартную область цветов и указать список значений RGB, которые должны отображаться в области цветов документа. Этот фрагмент кода входит в состав примера Draw Client.
// Create the "Paper Color" button
CMFCRibbonColorButton *pBtnPaperColor = new CMFCRibbonColorButton(ID_VIEW_PAPERCOLOR, _T("Paper Color\ng"), TRUE, 13, 1);
pBtnPaperColor->SetAlwaysLargeImage();
pBtnPaperColor->EnableAutomaticButton(_T("&Automatic"), RGB(255, 255, 255));
pBtnPaperColor->EnableOtherButton(_T("&More Colors..."), _T("More Colors"));
pBtnPaperColor->SetColumns(10);
pBtnPaperColor->SetColorBoxSize(CSize(17, 17));
// CList<COLORREF,COLORREF> m_lstMainColors
pBtnPaperColor->AddColorsGroup(_T("Theme Colors"), m_lstMainColors, TRUE);
// CList<COLORREF,COLORREF> m_lstAdditionalColors
pBtnPaperColor->AddColorsGroup(_T(""), m_lstAdditionalColors, FALSE);
// CList<COLORREF,COLORREF> m_lstStandardColors
pBtnPaperColor->AddColorsGroup(_T("Standard Colors"), m_lstStandardColors, TRUE);
CList<COLORREF, COLORREF> lstColors;
lstColors.AddTail(RGB(255, 0, 0));
lstColors.AddTail(RGB(0, 255, 0));
lstColors.AddTail(RGB(0, 0, 255));
pBtnPaperColor->SetDocumentColors(_T("Document Colors"), lstColors);
Иерархия наследования
Требования
Заголовок: afxribboncolorbutton.h
CMFCRibbonColorButton::AddColorsGroup
Добавляет группу цветов в стандартную область цветов.
void AddColorsGroup(
LPCTSTR lpszName,
const CList<COLORREF,COLORREF>& lstColors,
BOOL bContiguousColumns=FALSE);
Параметры
lpszName
[in] Имя группы.
lstColors
[in] Список цветов.
bContiguousColumns
[in] Управляет отображением цветных элементов в группе. Если значение TRUE, то цветные элементы рисуются без вертикального интервала. Если значение FALSE, то цветные элементы рисуются с вертикальным интервалом.
Замечания
Эта функция позволяет сделать всплывающее окно цвета несколькими группами цветов. Вы можете управлять отображением цветов в группе.
CMFCRibbonColorButton::CMFCRibbonColorButton
Формирует объект CMFCRibbonColorButton
.
CMFCRibbonColorButton();
CMFCRibbonColorButton(
UINT nID,
LPCTSTR lpszText,
int nSmallImageIndex,
COLORREF color = RGB(0, 0, 0));
CMFCRibbonColorButton(
UINT nID,
LPCTSTR lpszText,
BOOL bSimpleButtonLook,
int nSmallImageIndex,
int nLargeImageIndex,
COLORREF color = RGB(0, 0, 0));
Параметры
nID
[in] Указывает идентификатор команды, выполняемой при нажатии кнопки.
lpszText
[in] Указывает текст, отображаемый на кнопке.
nSmallImageIndex
[in] Отсчитываемый от нуля индекс небольшого изображения, который будет отображаться на кнопке.
color
[in] Цвет кнопки (по умолчанию — черный).
bSimpleButtonLook
[in] Если значение TRUE, кнопка рисуется как простой прямоугольник.
nLargeImageIndex
[in] Отсчитываемый от нуля индекс большого изображения, который будет отображаться на кнопке.
Возвращаемое значение
Замечания
CMFCRibbonColorButton::EnableAutomaticButton
Указывает, нажата ли кнопка Автоматически .
void EnableAutomaticButton(
LPCTSTR lpszLabel,
COLORREF colorAutomatic,
BOOL bEnable=TRUE,
LPCTSTR lpszToolTip=NULL,
BOOL bOnTop=TRUE,
BOOL bDrawBorder=FALSE);
Параметры
lpszLabel
[in] Метка для кнопки "Автоматический".
colorAutomatic
[in] Значение RGB, указывающее цвет автоматической кнопки по умолчанию.
bEnable
[in] ЗНАЧЕНИЕ TRUE, если включена кнопка "Автоматически"; Значение FALSE, если оно отключено.
lpszToolTip
[in] Подсказка кнопки "Автоматически ".
bOnTop
[in] Указывает, находится ли кнопка "Автоматически" в верхней части до цветовой палитры.
bDrawBorder
[in] Значение TRUE, если приложение рисует границу вокруг цветовой панели на кнопке цвета ленты. В цветовой строке отображается выбранный цвет. FALSE, если приложение не рисует границу
CMFCRibbonColorButton::EnableOtherButton
Активирует кнопку Другие .
void EnableOtherButton(
LPCTSTR lpszLabel,
LPCTSTR lpszToolTip=NULL);
Параметры
lpszLabel
Метка кнопки.
lpszToolTip
Текст подсказки для кнопки "Другой ".
Замечания
Кнопка "Другая " — это кнопка, отображаемая под группой цветов. Когда пользователь нажимает кнопку "Другой ", он отображает диалоговое окно цвета.
CMFCRibbonColorButton::GetAutomaticColor
Извлекает текущий цвет автоматической кнопки.
COLORREF GetAutomaticColor() const;
Возвращаемое значение
Значение цвета RGB, представляющее текущий цвет автоматической кнопки.
Замечания
Цвет автоматической кнопки задается параметром, colorAutomatic
переданным методу CMFCRibbonColorButton::EnableAutomaticButton
.
CMFCRibbonColorButton::GetColor
Возвращает выбранный в данный момент цвет.
COLORREF GetColor() const;
Возвращаемое значение
Цвет, выбранный путем нажатия кнопки.
CMFCRibbonColorButton::GetColorBoxSize
Возвращает размер цветовых элементов, отображаемых на цветовой панели.
CSize GetColorBoxSize() const;
Возвращаемое значение
Размер кнопок цвета в раскрывающейся цветовой палитре.
CMFCRibbonColorButton::GetColumns
Возвращает количество элементов в строке отображения коллекции цветов ленты.
int GetColumns() const;
Возвращаемое значение
Возвращает количество значков в каждой строке.
Замечания
CMFCRibbonColorButton::GetHighlightedColor
Возвращает цвет выбранного элемента в всплывающей палитре цветов.
COLORREF GetHighlightedColor() const;
Возвращаемое значение
Цвет выбранного элемента в всплывающей палитре цветов.
CMFCRibbonColorButton::RemoveAllColorGroups
Удаляет все группы цветов из стандартной области цветов.
void RemoveAllColorGroups();
CMFCRibbonColorButton::SetColor
Выбирает цвет в стандартной области цветов.
void SetColor(COLORREF color);
Параметры
color
[in] Цвет для задания.
CMFCRibbonColorButton::SetColorBoxSize
Задает размер всех цветовых элементов, отображаемых на цветовой панели.
void SetColorBoxSize(CSize sizeBox);
Параметры
sizeBox
[in] Новый размер кнопок цвета в цветовой палитре.
CMFCRibbonColorButton::SetColorName
Задает новое имя для указанного цвета.
static void __stdcall SetColorName(
COLORREF color,
const CString& strName);
Параметры
color
[in] Значение RGB цвета.
strName
[in] Новое имя указанного цвета.
Замечания
Так как он вызывает CMFCColorBar::SetColorName
, этот метод изменяет имя указанного цвета во всех CMFCColorBar
объектах в приложении.
CMFCRibbonColorButton::SetColumns
Задает количество столбцов, отображаемых в таблице цветов, представленных пользователю во время процесса выбора цвета пользователя.
void SetColumns(int nColumns);
Параметры
nColumns
[in] Количество значков цвета, отображаемых в каждой строке.
Замечания
CMFCRibbonColorButton::SetDocumentColors
Задает список значений RGB, которые должны отображаться в области цветов документа.
void SetDocumentColors(
LPCTSTR lpszLabel,
CList<COLORREF,COLORREF>& lstColors);
Параметры
lpszLabel
[in] Текст, отображаемый с цветами документа.
lstColors
[in] Ссылка на список значений RGB.
CMFCRibbonColorButton::SetPalette
Указывает стандартные цвета, отображаемые в таблице цветов, отображаемой кнопкой цвета.
void SetPalette(CPalette* pPalette);
Параметры
pPalette
[in] Указатель на цветовую палитру.
Замечания
CMFCRibbonColorButton::UpdateColor
Вызывается платформой, когда пользователь выбирает цвет из таблицы цветов, отображаемой при нажатии кнопки цвета.
void UpdateColor(COLORREF color);
Параметры
color
[in] Цвет, выбранный пользователем.
Замечания
Метод CMFCRibbonColorButton::UpdateColor
изменяет цвет выбранной кнопки и уведомляет его родителя, отправив сообщение WM_COMMAND с помощью стандартного уведомления BN_CLICKED. Используйте метод CMFCRibbonColorButton::GetColor, чтобы получить выбранный цвет.