Estructura CHOOSECOLORA (commdlg.h)

Contiene información que la función ChooseColor usa para inicializar el cuadro de diálogo Color . Una vez que el usuario cierra el cuadro de diálogo, el sistema devuelve información sobre la selección del usuario en esta estructura.

Sintaxis

typedef struct tagCHOOSECOLORA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HWND         hInstance;
  COLORREF     rgbResult;
  COLORREF     *lpCustColors;
  DWORD        Flags;
  LPARAM       lCustData;
  LPCCHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  LPEDITMENU   lpEditInfo;
} CHOOSECOLORA, *LPCHOOSECOLORA;

Miembros

lStructSize

Tipo: DWORD

Longitud, en bytes, de la estructura.

hwndOwner

Tipo: HWND

Identificador de la ventana que posee el cuadro de diálogo. Este miembro puede ser cualquier identificador de ventana válido o puede ser NULL si el cuadro de diálogo no tiene propietario.

hInstance

Tipo: HWND

Si la marca CC_ENABLETEMPLATEHANDLE se establece en el miembro Flags , hInstance es un identificador de un objeto de memoria que contiene una plantilla de cuadro de diálogo. Si se establece la marca CC_ENABLETEMPLATE , hInstance es un identificador de un módulo que contiene una plantilla de cuadro de diálogo denominada por el miembro lpTemplateName . Si no se establece ni CC_ENABLETEMPLATEHANDLE niCC_ENABLETEMPLATE , se omite este miembro.

rgbResult

Tipo: COLORREF

Si se establece la marca CC_RGBINIT , rgbResult especifica el color seleccionado inicialmente cuando se crea el cuadro de diálogo. Si el valor de color especificado no está entre los colores disponibles, el sistema selecciona el color sólido más cercano disponible. Si rgbResult es cero o CC_RGBINIT no se establece, el color seleccionado inicialmente es negro. Si el usuario hace clic en el botón Aceptar , rgbResult especifica la selección de color del usuario. Para crear un valor de color COLORREF , use la macro RGB .

lpCustColors

Tipo: COLORREF*

Puntero a una matriz de 16 valores que contienen valores rojo, verde, azul (RGB) para los cuadros de color personalizados del cuadro de diálogo. Si el usuario modifica estos colores, el sistema actualiza la matriz con los nuevos valores RGB. Para conservar nuevos colores personalizados entre las llamadas a la función ChooseColor , debe asignar memoria estática para la matriz. Para crear un valor de color COLORREF , use la macro RGB .

Flags

Tipo: DWORD

Conjunto de marcas de bits que puede usar para inicializar el cuadro de diálogo Color . Cuando se devuelve el cuadro de diálogo, establece estas marcas para indicar la entrada del usuario. Este miembro puede ser una combinación de las marcas siguientes.

Valor Significado
CC_ANYCOLOR
0x00000100
Hace que el cuadro de diálogo muestre todos los colores disponibles en el conjunto de colores básicos.
CC_ENABLEHOOK
0x00000010
Habilita el procedimiento de enlace especificado en el miembro lpfnHook de esta estructura. Esta marca solo se usa para inicializar el cuadro de diálogo.
CC_ENABLETEMPLATE
0x00000020
Los miembros hInstance y lpTemplateName especifican una plantilla de cuadro de diálogo que se va a usar en lugar de la plantilla predeterminada. Esta marca solo se usa para inicializar el cuadro de diálogo.
CC_ENABLETEMPLATEHANDLE
0x00000040
El miembro hInstance identifica un bloque de datos que contiene una plantilla de cuadro de diálogo precargada. El sistema omite el miembro lpTemplateName si se especifica esta marca. Esta marca solo se usa para inicializar el cuadro de diálogo.
CC_FULLOPEN
0x00000002
Hace que el cuadro de diálogo muestre los controles adicionales que permiten al usuario crear colores personalizados. Si no se establece esta marca, el usuario debe hacer clic en el botón Definir color personalizado para mostrar los controles de color personalizados.
CC_PREVENTFULLOPEN
0x00000004
Deshabilita el botón Definir color personalizado .
CC_RGBINIT
0x00000001
Hace que el cuadro de diálogo use el color especificado en el miembro rgbResult como selección de color inicial.
CC_SHOWHELP
0x00000008
Hace que el cuadro de diálogo muestre el botón Ayuda. El miembro hwndOwner debe especificar la ventana para recibir los mensajes registrados HELPMSGSTRING que envía el cuadro de diálogo cuando el usuario hace clic en el botón Ayuda .
CC_SOLIDCOLOR
0x00000080
Hace que el cuadro de diálogo solo muestre colores sólidos en el conjunto de colores básicos.

lCustData

Tipo: LPARAM

Datos definidos por la aplicación que el sistema pasa al procedimiento de enlace identificado por el miembro lpfnHook . Cuando el sistema envía el mensaje WM_INITDIALOG al procedimiento de enlace, el parámetro lParam del mensaje es un puntero a la estructura CHOOSECOLOR especificada cuando se creó el cuadro de diálogo. El procedimiento de enlace puede usar este puntero para obtener el valor lCustData .

lpfnHook

Tipo: LPCCHOOKPROC

Puntero a un procedimiento de enlace CCHookProc que puede procesar mensajes destinados al cuadro de diálogo. Este miembro se omite a menos que la marca de CC_ENABLEHOOK esté establecida en el miembro Flags .

lpTemplateName

Tipo: LPCTSTR

Nombre del recurso de plantilla del cuadro de diálogo en el módulo identificado por el miembro hInstance . Esta plantilla se sustituye por la plantilla de cuadro de diálogo estándar. Para los recursos de cuadro de diálogo numerados, lpTemplateName puede ser un valor devuelto por la macro MAKEINTRESOURCE . Este miembro se omite a menos que la marca de CC_ENABLETEMPLATE esté establecida en el miembro Flags .

lpEditInfo

Requisitos

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible compilación 20348 de Windows 10
Encabezado commdlg.h

Consulte también

CCHookProc

ChooseColor

Biblioteca de cuadros de diálogo comunes

Conceptual

MAKEINTRESOURCE

Referencia