Compartir a través de


Clase CMFCColorPickerCtrl

La clase CMFCColorPickerCtrl proporciona funcionalidad para un control que se utiliza para seleccionar colores.

Sintaxis

class CMFCColorPickerCtrl : public CButton

Miembros

Constructores públicos

Nombre Descripción
CMFCColorPickerCtrl::CMFCColorPickerCtrl Construye un objeto CMFCColorPickerCtrl.

Métodos públicos

Nombre Descripción
CMFCColorPickerCtrl::GetColor Recupera el color que el usuario selecciona.
CMFCColorPickerCtrl::GetHLS Recupera los valores de matiz, luminancia y saturación del color que selecciona el usuario.
CMFCColorPickerCtrl::GetHue Recupera el componente de matiz del color que selecciona el usuario.
CMFCColorPickerCtrl::GetLuminance Recupera el componente de luminancia del color que selecciona el usuario.
CMFCColorPickerCtrl::GetSaturation Recupera el componente de saturación del color que selecciona el usuario.
CMFCColorPickerCtrl::SelectCellHexagon Establece el color actual en el color definido por los componentes de color RGB especificados o el hexágono de celdas especificado.
CMFCColorPickerCtrl::SetColor Establece el color actual en el valor de color RGB especificado.
CMFCColorPickerCtrl::SetHLS Establece el color actual en el valor de color HSB especificado.
CMFCColorPickerCtrl::SetHue Cambia el componente de matiz del color seleccionado actualmente.
CMFCColorPickerCtrl::SetLuminance Cambia el componente de luminancia del color seleccionado actualmente.
CMFCColorPickerCtrl::SetLuminanceBarWidth Establece el ancho de la barra de luminancia en el control del selector de colores.
CMFCColorPickerCtrl::SetOriginalColor Establece el color seleccionado inicial.
CMFCColorPickerCtrl::SetPalette Establece la paleta de colores actual.
CMFCColorPickerCtrl::SetSaturation Cambia el componente de saturación del color seleccionado actualmente.
CMFCColorPickerCtrl::SetType Establece el tipo de control del selector de colores que se va a mostrar.

Métodos protegidos

Nombre Descripción
CMFCColorPickerCtrl::DrawCursor Es llamado por el marco antes de que se muestre un cursor que apunte al color seleccionado.

Comentarios

Los colores estándar se seleccionan en una paleta de colores hexagonal y los colores personalizados se seleccionan en una barra de luminancia donde se especifican los colores mediante notación roja/verde/azul o notación de tono/satuarción/luminancia.

En la ilustración siguiente se muestran varios objetos CMFCColorPickerCtrl.

CMFCColorPickerCtrl dialog box.

CMFCColorPickerCtrl admite dos pares de estilos. Los estilos HEX y HEX_GREYSCALE son adecuados para la selección de color estándar. Los estilos PICKER (selector) y LUMINANCE (luminancia) son adecuados para la selección de color personalizada.

Realice los pasos siguientes para incorporar el control CMFCColorPickerCtrl en el cuadro de diálogo:

  1. Si usa ClassWizard, inserte un nuevo control de botón en la plantilla del cuadro de diálogo (porque la clase CMFCColorPickerCtrl se hereda de la clase CButton).

  2. Inserte una variable miembro asociada al nuevo control de botón en la clase del cuadro de diálogo. A continuación, cambie el tipo de variable de CButton a CMFCColorPickerCtrl.

  3. Inserte el controlador de mensajes WM_INITDIALOG para la clase de cuadro de diálogo. En el controlador, establezca el tipo paleta y el color seleccionado inicial del control CMFCColorPickerCtrl.

Ejemplo

En el ejemplo siguiente se muestra cómo configurar un objeto CMFCColorPickerCtrl mediante varios métodos de la clase CMFCColorPickerCtrl. En el ejemplo se muestra cómo establecer el tipo del control selector y cómo establecer su color, matiz, luminancia y saturación. El ejemplo forma parte del ejemplo de controles nuevos.

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);

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CButton

CMFCColorPickerCtrl

Requisitos

Encabezado: afxcolorpickerctrl.h

CMFCColorPickerCtrl::CMFCColorPickerCtrl

Construye un objeto CMFCColorPickerCtrl.

CMFCColorPickerCtrl();

Valor devuelto

Comentarios

CMFCColorPickerCtrl::DrawCursor

Es llamado por el marco antes de que se muestre un cursor que apunte al color seleccionado.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Especifica un área rectangular alrededor del color seleccionado.

Comentarios

Invalide este método cuando necesite cambiar la forma del cursor que apunta al color seleccionado.

CMFCColorPickerCtrl::GetColor

Recupera el color que el usuario selecciona.

COLORREF GetColor() const;

Valor devuelto

Valor de RGB del color seleccionado.

Comentarios

CMFCColorPickerCtrl::GetHLS

Recupera los valores de matiz, luminancia y saturación del color que selecciona el usuario.

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

Parámetros

hue
[out] Puntero a una variable de tipo doble que recibe la información de matiz.

luminance
[out] Puntero a una variable de tipo doble que recibe la información de luminancia.

saturation
[out] Puntero a una variable de tipo doble que recibe la información de saturación.

Comentarios

CMFCColorPickerCtrl::GetHue

Recupera el componente de matiz del color que selecciona el usuario.

double GetHue() const;

Valor devuelto

Componente de matiz del color seleccionado.

Comentarios

CMFCColorPickerCtrl::GetLuminance

Recupera el componente de luminancia del color que selecciona el usuario.

double GetLuminance() const;

Valor devuelto

Componente de luminancia del color seleccionado.

Comentarios

CMFCColorPickerCtrl::GetSaturation

Recupera el valor de saturación del color que selecciona el usuario.

double GetSaturation() const;

Valor devuelto

Componente de saturación del color seleccionado.

Comentarios

CMFCColorPickerCtrl::SelectCellHexagon

Establece el color actual en el color definido por los componentes de color RGB especificados o el hexágono de celdas especificado.

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

BOOL SelectCellHexagon(
    int x,
    int y);

Parámetros

R
[in] Componente de color rojo.

G
[in] Componente de color verde.

B
[in] Componente de color azul.

x
[in] Coordenada x del cursor que apunta a un hexágono de celda.

y
[in] Coordenada y del cursor que apunta a un hexágono de celda.

Valor devuelto

La segunda sobrecarga de este método siempre devuelve FALSE.

Comentarios

La primera sobrecarga de este método establece el color actual al color que corresponde a los componentes de color rojo, verde y azul especificados del control de selección de colores.

La segunda sobrecarga de este método establece el color actual en el color de la celda hexágona a la que apunta la ubicación del cursor especificada.

CMFCColorPickerCtrl::SetColor

Establece el color actual en el valor de color RGB especificado.

void SetColor(COLORREF Color);

Parámetros

Color
[in] Valor de color RGB.

Comentarios

CMFCColorPickerCtrl::SetHLS

Establece el color actual en el valor de color HSB especificado.

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

Parámetros

hue
[in] Valor de matiz.

luminance
[in] Valor de luminancia.

saturation
[in] Valor de saturación.

bInvalidate
[in] TRUE para forzar que la ventana se actualice inmediatamente al nuevo color; de lo contrario, FALSE. El valor predeterminado es TRUE.

Comentarios

CMFCColorPickerCtrl::SetHue

Cambia el matiz del color seleccionado actualmente.

void SetHue(double Hue);

Parámetros

Hue
[in] Valor de matiz.

Comentarios

CMFCColorPickerCtrl::SetLuminance

Cambia la luminancia del color seleccionado actualmente.

void SetLuminance(double Luminance);

Parámetros

Luminancia
[in] Valor de luminancia.

Comentarios

CMFCColorPickerCtrl::SetLuminanceBarWidth

Establece el ancho de la barra de luminancia en el control del selector de colores.

void SetLuminanceBarWidth(int w);

Parámetros

t
[in] Ancho de la barra de luminancia medida en píxeles.

Comentarios

Use este método para cambiar el tamaño de la barra de luminancia, que se encuentra en la pestaña Personalizar del control del selector de colores. El parámetro w especifica la nueva anchura de la barra de luminancia. El valor de anchura se omite si supera los tres cuartos del ancho del área cliente.

CMFCColorPickerCtrl::SetOriginalColor

Establece el color seleccionado inicial.

void SetOriginalColor(COLORREF ref);

Parámetros

ref
[in] Valor de color RGB.

Comentarios

Llame a este método cuando se inicialice el control del selector de colores.

CMFCColorPickerCtrl::SetPalette

Establece la paleta de colores actual.

void SetPalette(CPalette* pPalette);

Parámetros

pPalette
[in] Puntero a una paleta de colores.

Comentarios

La paleta de colores define la matriz de colores que se presenta en el control del selector de colores.

CMFCColorPickerCtrl::SetSaturation

Cambia la saturación del color seleccionado actualmente.

void SetSaturation(double Saturation);

Parámetros

Saturación
[in] Valor de saturación.

Comentarios

CMFCColorPickerCtrl::SetType

Establece el tipo de control del selector de colores que se va a mostrar.

void SetType(COLORTYPE colorType);

Parámetros

colorType
[in] Tipo de control del selector de colores.

Los tipos están definidos por la enumeración CMFCColorPickerCtrl::COLORTYPE. Los posibles tipos son LUMINANCE, PICKER, HEX y HEX_GREYSCALE. El tipo predeterminado es PICKER.

Comentarios

Para especificar un tipo de control del selector de colores, llame a este método antes de crear el control de Windows.

Consulte también

Gráfico de jerarquías
Clases
CMFCColorDialog (clase)