Поделиться через


Класс 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);

Иерархия наследования

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

CMFCRibbonGallery

CMFCRibbonColorButton

Требования

Заголовок: 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, чтобы получить выбранный цвет.

См. также

Диаграмма иерархии
Классы
Класс CMFCRibbonGallery