Estrutura CHOOSECOLORA (commdlg.h)

Contém informações que a função ChooseColor usa para inicializar a caixa de diálogo Cor . Depois que o usuário fecha a caixa de diálogo, o sistema retorna informações sobre a seleção do usuário nessa estrutura.

Sintaxe

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;

Membros

lStructSize

Tipo: DWORD

O comprimento, em bytes, da estrutura .

hwndOwner

Digite: HWND

Um identificador para a janela que possui a caixa de diálogo. Esse membro pode ser qualquer identificador de janela válido ou nulo se a caixa de diálogo não tiver proprietário.

hInstance

Digite: HWND

Se o sinalizador CC_ENABLETEMPLATEHANDLE for definido no membro Flags , hInstance será um identificador para um objeto de memória que contém um modelo de caixa de diálogo. Se o sinalizador CC_ENABLETEMPLATE estiver definido, hInstance será um identificador para um módulo que contém um modelo de caixa de diálogo chamado pelo membro lpTemplateName . Se nem CC_ENABLETEMPLATEHANDLE nem CC_ENABLETEMPLATE estiver definido, esse membro será ignorado.

rgbResult

Tipo: COLORREF

Se o sinalizador CC_RGBINIT estiver definido, rgbResult especificará a cor inicialmente selecionada quando a caixa de diálogo for criada. Se o valor de cor especificado não estiver entre as cores disponíveis, o sistema selecionará a cor sólida mais próxima disponível. Se rgbResult for zero ou CC_RGBINIT não estiver definido, a cor inicialmente selecionada será preta. Se o usuário clicar no botão OK , rgbResult especificará a seleção de cores do usuário. Para criar um valor de cor COLORREF , use a macro RGB .

lpCustColors

Tipo: COLORREF*

Um ponteiro para uma matriz de 16 valores que contêm valores vermelhos, verdes, azuis (RGB) para as caixas de cores personalizadas na caixa de diálogo. Se o usuário modificar essas cores, o sistema atualizará a matriz com os novos valores RGB. Para preservar novas cores personalizadas entre chamadas para a função ChooseColor , você deve alocar memória estática para a matriz. Para criar um valor de cor COLORREF , use a macro RGB .

Flags

Tipo: DWORD

Um conjunto de sinalizadores de bits que você pode usar para inicializar a caixa de diálogo Cor . Quando a caixa de diálogo é retornada, ela define esses sinalizadores para indicar a entrada do usuário. Esse membro pode ser uma combinação dos sinalizadores a seguir.

Valor Significado
CC_ANYCOLOR
0x00000100
Faz com que a caixa de diálogo exiba todas as cores disponíveis no conjunto de cores básicas.
CC_ENABLEHOOK
0x00000010
Habilita o procedimento de gancho especificado no membro lpfnHook dessa estrutura. Esse sinalizador é usado apenas para inicializar a caixa de diálogo.
CC_ENABLETEMPLATE
0x00000020
Os membros hInstance e lpTemplateName especificam um modelo de caixa de diálogo a ser usado no lugar do modelo padrão. Esse sinalizador é usado apenas para inicializar a caixa de diálogo.
CC_ENABLETEMPLATEHANDLE
0x00000040
O membro hInstance identifica um bloco de dados que contém um modelo de caixa de diálogo pré-carregado. O sistema ignorará o membro lpTemplateName se esse sinalizador for especificado. Esse sinalizador é usado apenas para inicializar a caixa de diálogo.
CC_FULLOPEN
0x00000002
Faz com que a caixa de diálogo exiba os controles adicionais que permitem ao usuário criar cores personalizadas. Se esse sinalizador não estiver definido, o usuário deverá clicar no botão Definir Cor Personalizada para exibir os controles de cores personalizados.
CC_PREVENTFULLOPEN
0x00000004
Desabilita o botão Definir Cor Personalizada .
CC_RGBINIT
0x00000001
Faz com que a caixa de diálogo use a cor especificada no membro rgbResult como a seleção de cor inicial.
CC_SHOWHELP
0x00000008
Faz com que a caixa de diálogo exiba o botão Ajuda. O membro hwndOwner deve especificar a janela para receber as mensagens registradas HELPMSGSTRING que a caixa de diálogo envia quando o usuário clica no botão Ajuda .
CC_SOLIDCOLOR
0x00000080
Faz com que a caixa de diálogo exiba apenas cores sólidas no conjunto de cores básicas.

lCustData

Tipo: LPARAM

Dados definidos pelo aplicativo que o sistema passa para o procedimento de gancho identificado pelo membro lpfnHook . Quando o sistema envia a mensagem WM_INITDIALOG para o procedimento de gancho, o parâmetro lParam da mensagem é um ponteiro para a estrutura CHOOSECOLOR especificada quando a caixa de diálogo foi criada. O procedimento de gancho pode usar esse ponteiro para obter o valor lCustData .

lpfnHook

Tipo: LPCCHOOKPROC

Um ponteiro para um procedimento de gancho CCHookProc que pode processar mensagens destinadas à caixa de diálogo. Esse membro é ignorado, a menos que o sinalizador CC_ENABLEHOOK seja definido no membro Flags .

lpTemplateName

Tipo: LPCTSTR

O nome do recurso de modelo da caixa de diálogo no módulo identificado pelo membro hInstance . Esse modelo é substituído pelo modelo de caixa de diálogo padrão. Para recursos numerados da caixa de diálogo, lpTemplateName pode ser um valor retornado pela macro MAKEINTRESOURCE . Esse membro é ignorado, a menos que o sinalizador CC_ENABLETEMPLATE seja definido no membro Flags .

lpEditInfo

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Cabeçalho commdlg.h

Confira também

CCHookProc

Choosecolor

Biblioteca de caixas de diálogo comuns

Conceitual

MAKEINTRESOURCE

Referência