Класс CMFCColorPickerCtrl

Класс CMFCColorPickerCtrl предоставляет функциональные возможности для элемента управления, который используется для выбора цветов.

Синтаксис

class CMFCColorPickerCtrl : public CButton

Участники

Открытые конструкторы

Имя Описание
CMFCColorPickerCtrl::CMFCColorPickerCtrl Формирует объект CMFCColorPickerCtrl.

Открытые методы

Имя Описание
CMFCColorPickerCtrl::GetColor Извлекает цвет, который выбирает пользователь.
CMFCColorPickerCtrl::GetHLS Извлекает значения цвета, яркости и насыщенности цвета, выбранного пользователем.
CMFCColorPickerCtrl::GetHue Извлекает компонент оттенка цвета, выбранного пользователем.
CMFCColorPickerCtrl::GetLuminance Извлекает компонент света цвета, выбранного пользователем.
CMFCColorPickerCtrl::GetSaturation Извлекает компонент насыщенности цвета, выбранного пользователем.
CMFCColorPickerCtrl::SelectCellHexagon Задает текущий цвет, определенный указанными компонентами цвета RGB или шестнадцатеричной ячейкой.
CMFCColorPickerCtrl::SetColor Задает текущий цвет заданному значению цвета RGB.
CMFCColorPickerCtrl::SetHLS Задает текущий цвет указанным значением цвета HLS.
CMFCColorPickerCtrl::SetHue Изменяет компонент оттенка выбранного цвета.
CMFCColorPickerCtrl::SetLuminance Изменяет компонент света выбранного цвета.
CMFCColorPickerCtrl::SetLuminanceBarWidth Задает ширину панели света в элементе управления выбора цветов.
CMFCColorPickerCtrl::SetOriginalColor Задает начальный выбранный цвет.
CMFCColorPickerCtrl::SetPalette Задает текущую цветовую палитру.
CMFCColorPickerCtrl::SetSaturation Изменяет компонент насыщенности выбранного цвета.
CMFCColorPickerCtrl::SetType Задает тип элемента управления выбора цвета для отображения.

Защищенные методы

Имя Описание
CMFCColorPickerCtrl::D rawCursor Вызывается платформой перед отображением курсора, указывающего на выбранный цвет.

Замечания

Стандартные цвета выбираются из шестнадцатеугольной цветовой палитры, а настраиваемые цвета выбираются из панели света, где цвета задаются с помощью нотации красного или зеленого или синего нотации или оттенка/сатуатуры/нотации света.

На следующем рисунке показано несколько CMFCColorPickerCtrl объектов.

CMFCColorPickerCtrl dialog box.

Поддерживает CMFCColorPickerCtrl две пары стилей. Стили HEX и HEX_GREYSCALE подходят для стандартного выбора цвета. Стили PICKER и LUMINANCE подходят для выбора пользовательского цвета.

Выполните следующие действия, чтобы включить элемент управления в диалоговое CMFCColorPickerCtrl окно:

  1. Если вы используете ClassWizard, вставьте новый элемент управления кнопки в шаблон диалогового CButton окна (так как CMFCColorPickerCtrl класс наследуется от класса).

  2. Вставьте переменную-член, связанную с новым элементом управления кнопкой, в класс диалогового окна. Затем измените тип переменной на CButtonCMFCColorPickerCtrl.

  3. WM_INITDIALOG Вставьте обработчик сообщений для класса диалогового окна. В обработчике задайте тип, палитру и начальный выбранный цвет CMFCColorPickerCtrl элемента управления.

Пример

В следующем примере показано, как настроить CMFCColorPickerCtrl объект с помощью различных методов в CMFCColorPickerCtrl классе. В примере показано, как задать тип элемента управления выбора и как задать его цвет, оттенки, светимость и насыщенность. Пример является частью примера "Новые элементы управления".

CMFCColorPickerCtrl m_wndLum;
// CPalette m_palSys
// set the type of the color picker control
m_wndLum.SetType(CMFCColorPickerCtrl::LUMINANCE);
m_wndLum.SetPalette(&m_palSys);
// set the color, hue, luminance and saturation of the color picker control
m_wndLum.SetColor(RGB(0, 255, 0));
m_wndLum.SetHue(0.5);
m_wndLum.SetLuminance(2.5);
m_wndLum.SetLuminanceBarWidth(10);
m_wndLum.SetSaturation(0.5);

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

CObject

CCmdTarget

CWnd

CButton

CMFCColorPickerCtrl

Требования

Заголовок: afxcolorpickerctrl.h

CMFCColorPickerCtrl::CMFCColorPickerCtrl

Формирует объект CMFCColorPickerCtrl.

CMFCColorPickerCtrl();

Возвращаемое значение

Замечания

CMFCColorPickerCtrl::D rawCursor

Вызывается платформой перед отображением курсора, указывающего на выбранный цвет.

virtual void DrawCursor(
    CDC* pDC,
    const CRect& rect);

Параметры

pDC
[in] Указатель на контекст устройства.

rect
[in] Задает прямоугольную область вокруг выбранного цвета.

Замечания

Переопределите этот метод, если необходимо изменить форму курсора, указывающего на выбранный цвет.

CMFCColorPickerCtrl::GetColor

Извлекает цвет, который выбирает пользователь.

COLORREF GetColor() const;

Возвращаемое значение

Значение RGB выбранного цвета.

Замечания

CMFCColorPickerCtrl::GetHLS

Извлекает значения цвета, яркости и насыщенности цвета, выбранного пользователем.

void GetHLS(
    double* hue,
    double* luminance,
    double* saturation);

Параметры

Оттенок
[out] Указатель на переменную типа double, которая получает сведения об оттенок.

Яркости
[out] Указатель на переменную типа double, которая получает сведения о светимости.

Насыщенность
[out] Указатель на переменную типа double, которая получает сведения о насыщенности.

Замечания

CMFCColorPickerCtrl::GetHue

Извлекает компонент оттенка цвета, выбранного пользователем.

double GetHue() const;

Возвращаемое значение

Компонент оттенка выбранного цвета.

Замечания

CMFCColorPickerCtrl::GetLuminance

Извлекает компонент света цвета, выбранного пользователем.

double GetLuminance() const;

Возвращаемое значение

Компонент света выбранного цвета.

Замечания

CMFCColorPickerCtrl::GetSaturation

Извлекает значение насыщенности цвета, выбранного пользователем.

double GetSaturation() const;

Возвращаемое значение

Компонент насыщенности выбранного цвета.

Замечания

CMFCColorPickerCtrl::SelectCellHexagon

Задает текущий цвет, определенный указанными компонентами цвета RGB или шестнадцатеричной ячейкой.

void SelectCellHexagon(
    BYTE R,
    BYTE G,
    BYTE B);

BOOL SelectCellHexagon(
    int x,
    int y);

Параметры

R
[in] Красный цвет компонента.

G
[in] Зеленый цвет компонента.

B
[in] Компонент синего цвета.

x
[in] Координата x курсора, указывающая на шестнадцатеричную ячейку.

y
[in] Координата y курсора, указывающая на шестнадцатеричную ячейку.

Возвращаемое значение

Вторая перегрузка этого метода всегда возвращает ЗНАЧЕНИЕ FALSE.

Замечания

Первая перегрузка этого метода задает текущий цвет для цвета, соответствующего указанному элементу управления выбора цвета, красному, зеленому и синему цвету.

Вторая перегрузка этого метода задает текущий цвет цвета шестнадцатеричной ячейки, на которую указывает указанное расположение курсора.

CMFCColorPickerCtrl::SetColor

Задает текущий цвет заданному значению цвета RGB.

void SetColor(COLORREF Color);

Параметры

Цвет
[in] Значение цвета RGB.

Замечания

CMFCColorPickerCtrl::SetHLS

Задает текущий цвет указанным значением цвета HLS.

void SetHLS(
    double hue,
    double luminance,
    double saturation,
    BOOL bInvalidate=TRUE);

Параметры

Оттенок
[in] Значение оттенка.

Яркости
[in] Значение света.

Насыщенность
[in] Значение насыщенности.

bInvalidate
[in] ЗНАЧЕНИЕ TRUE, чтобы принудить окно немедленно обновиться до нового цвета; в противном случае — ЗНАЧЕНИЕ FALSE. Значение по умолчанию — TRUE.

Замечания

CMFCColorPickerCtrl::SetHue

Изменяет цвет выбранного в данный момент цвета.

void SetHue(double Hue);

Параметры

Hue
[in] Значение оттенка.

Замечания

CMFCColorPickerCtrl::SetLuminance

Изменяет светимость выбранного цвета в данный момент.

void SetLuminance(double Luminance);

Параметры

Освещенность
[in] Значение света.

Замечания

CMFCColorPickerCtrl::SetLuminanceBarWidth

Задает ширину панели света в элементе управления выбора цветов.

void SetLuminanceBarWidth(int w);

Параметры

w
[in] Ширина полосы света, измеряемой в пикселях.

Замечания

Используйте этот метод для изменения размера панели света, которая находится на вкладке "Настраиваемый " элемента управления выбора цветов. Параметр w задает новую ширину панели света. Значение ширины игнорируется, если оно превышает три четверти ширины клиентской области.

CMFCColorPickerCtrl::SetOriginalColor

Задает начальный выбранный цвет.

void SetOriginalColor(COLORREF ref);

Параметры

ref;
[in] Значение цвета RGB.

Замечания

Вызовите этот метод при инициализации элемента управления выбора цвета.

CMFCColorPickerCtrl::SetPalette

Задает текущую цветовую палитру.

void SetPalette(CPalette* pPalette);

Параметры

pPalette
[in] Указатель на цветовую палитру.

Замечания

Цветовая палитра определяет массив цветов, представленный в элементе управления выбора цветов.

CMFCColorPickerCtrl::SetSaturation

Изменяет насыщенность выбранного цвета.

void SetSaturation(double Saturation);

Параметры

Насыщенность
[in] Значение насыщенности.

Замечания

CMFCColorPickerCtrl::SetType

Задает тип элемента управления выбора цвета для отображения.

void SetType(COLORTYPE colorType);

Параметры

colorType
[in] Тип элемента управления выбора цвета.

Типы определяются CMFCColorPickerCtrl::COLORTYPE перечислением. Возможные типы: LUMINANCE, PICKER, HEX и HEX_GREYSCALE. Тип по умолчанию — PICKER.

Замечания

Чтобы указать тип элемента управления выбора цвета, вызовите этот метод перед созданием элемента управления Windows.

См. также

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