Condividi tramite


Struttura CHOOSECOLORA (Rich Edit 2.0)

Contiene informazioni utilizzate dalla funzione ChooseColor per inizializzare la finestra di dialogo Colore . Dopo che l'utente chiude la finestra di dialogo, il sistema restituisce informazioni sulla selezione dell'utente in questa struttura.

Sintassi

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;

Members

lStructSize

Tipo: DWORD

Lunghezza, in byte, della struttura.

hwndOwner

Tipo: HWND

Handle per la finestra proprietaria della finestra di dialogo. Questo membro può essere qualsiasi handle di finestra valido oppure può essere NULL se la finestra di dialogo non ha proprietario.

hInstance

Tipo: HWND

Se il flag CC_ENABLETEMPLATEHANDLE è impostato nel membro Flags , hInstance è un handle per un oggetto memoria contenente un modello di finestra di dialogo. Se il flag CC_ENABLETEMPLATE è impostato, hInstance è un handle per un modulo che contiene un modello di finestra di dialogo denominato dal membro lpTemplateName . Se non è impostato né CC_ENABLETEMPLATEHANDLE néCC_ENABLETEMPLATE , questo membro viene ignorato.

rgbResult

Tipo: COLORREF

Se il flag CC_RGBINIT è impostato, rgbResult specifica il colore inizialmente selezionato al momento della creazione della finestra di dialogo. Se il valore di colore specificato non è compreso tra i colori disponibili, il sistema seleziona il colore a tinta unita più vicino disponibile. Se rgbResult è zero o CC_RGBINIT non è impostato, il colore selezionato inizialmente è nero. Se l'utente fa clic sul pulsante OK , rgbResult specifica la selezione del colore dell'utente. Per creare un valore di colore COLORREF , utilizzare la macro RGB .

lpCustColors

Tipo: COLORREF*

Puntatore a una matrice di 16 valori che contengono valori rosso, verde, blu (RGB) per le caselle di colore personalizzate nella finestra di dialogo. Se l'utente modifica questi colori, il sistema aggiorna la matrice con i nuovi valori RGB. Per mantenere nuovi colori personalizzati tra le chiamate alla funzione ChooseColor , è necessario allocare memoria statica per la matrice. Per creare un valore di colore COLORREF , utilizzare la macro RGB .

Flags

Tipo: DWORD

Set di flag di bit che è possibile usare per inizializzare la finestra di dialogo Colore . Quando la finestra di dialogo viene restituita, imposta questi flag per indicare l'input dell'utente. Questo membro può essere una combinazione dei flag seguenti.

Valore Significato
CC_ANYCOLOR
0x00000100
Fa sì che la finestra di dialogo visualizzi tutti i colori disponibili nel set di colori di base.
CC_ENABLEHOOK
0x00000010
Abilita la routine hook specificata nel membro lpfnHook di questa struttura. Questo flag viene utilizzato solo per inizializzare la finestra di dialogo.
CC_ENABLETEMPLATE
0x00000020
I membri hInstance e lpTemplateName specificano un modello di finestra di dialogo da usare al posto del modello predefinito. Questo flag viene utilizzato solo per inizializzare la finestra di dialogo.
CC_ENABLETEMPLATEHANDLE
0x00000040
Il membro hInstance identifica un blocco di dati che contiene un modello di finestra di dialogo precaricato. Se questo flag viene specificato, il sistema ignora il membro lpTemplateName . Questo flag viene utilizzato solo per inizializzare la finestra di dialogo.
CC_FULLOPEN
0x00000002
Fa sì che la finestra di dialogo visualizzi i controlli aggiuntivi che consentono all'utente di creare colori personalizzati. Se questo flag non è impostato, l'utente deve fare clic sul pulsante Definisci colore personalizzato per visualizzare i controlli colore personalizzati.
CC_PREVENTFULLOPEN
0x00000004
Disabilita il pulsante Definisci colore personalizzato .
CC_RGBINIT
0x00000001
Fa sì che la finestra di dialogo usi il colore specificato nel membro rgbResult come selezione del colore iniziale.
CC_SHOWHELP
0x00000008
Fa sì che la finestra di dialogo visualizzi il pulsante ?. Il membro hwndOwner deve specificare la finestra per ricevere i messaggi registrati HELPMSGSTRING inviati dalla finestra di dialogo quando l'utente fa clic sul pulsante ? .
CC_SOLIDCOLOR
0x00000080
Fa sì che la finestra di dialogo visualizzi solo i colori a tinta unita nel set di colori di base.

lCustData

Tipo: LPARAM

Dati definiti dall'applicazione che il sistema passa alla routine hook identificata dal membro lpfnHook . Quando il sistema invia il messaggio WM_INITDIALOG alla routine hook, il parametro lParam del messaggio è un puntatore alla struttura CHOOSECOLOR specificata al momento della creazione del dialogo. La procedura hook può usare questo puntatore per ottenere il valore lCustData .

lpfnHook

Tipo: LPCCHOOKPROC

Puntatore a una routine hook CCHookProc in grado di elaborare i messaggi destinati alla finestra di dialogo. Questo membro viene ignorato a meno che il flag CC_ENABLEHOOK non sia impostato nel membro Flags .

lpTemplateName

Tipo: LPCTSTR

Nome della risorsa modello della finestra di dialogo nel modulo identificato dal membro hInstance . Questo modello viene sostituito con il modello della finestra di dialogo standard. Per le risorse della finestra di dialogo numerate, lpTemplateName può essere un valore restituito dalla macro MAKEINTRESOURCE . Questo membro viene ignorato a meno che il flag di CC_ENABLETEMPLATE non sia impostato nel membro Flags .

lpEditInfo

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Intestazione commdlg.h

Vedi anche

CCHookProc

ChooseColor

Libreria delle finestre di dialogo comuni

Informazioni concettuali

MAKEINTRESOURCE

Riferimento