STRUCTURE CHOOSECOLORA (commdlg.h)

Contient des informations que la fonction ChooseColor utilise pour initialiser la boîte de dialogue Couleur . Une fois que l’utilisateur ferme la boîte de dialogue, le système retourne des informations sur la sélection de l’utilisateur dans cette structure.

Syntaxe

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;

Membres

lStructSize

Type : DWORD

Longueur, en octets, de la structure.

hwndOwner

Type : HWND

Handle vers la fenêtre qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut être NULL si la boîte de dialogue n’a aucun propriétaire.

hInstance

Type : HWND

Si l’indicateur CC_ENABLETEMPLATEHANDLE est défini dans le membre Flags , hInstance est un handle pour un objet mémoire contenant un modèle de boîte de dialogue. Si l’indicateur CC_ENABLETEMPLATE est défini, hInstance est un handle sur un module qui contient un modèle de boîte de dialogue nommé par le membre lpTemplateName . Si aucun CC_ENABLETEMPLATEHANDLE ni CC_ENABLETEMPLATE n’est défini, ce membre est ignoré.

rgbResult

Type : COLORREF

Si l’indicateur CC_RGBINIT est défini, rgbResult spécifie la couleur initialement sélectionnée lorsque la boîte de dialogue est créée. Si la valeur de couleur spécifiée n’est pas parmi les couleurs disponibles, le système sélectionne la couleur unie la plus proche disponible. Si rgbResult est zéro ou CC_RGBINIT n’est pas défini, la couleur initialement sélectionnée est noire. Si l’utilisateur clique sur le bouton OK , rgbResult spécifie la sélection de couleur de l’utilisateur. Pour créer une valeur de couleur COLORREF , utilisez la macro RVB .

lpCustColors

Type : COLORREF*

Pointeur vers un tableau de 16 valeurs qui contiennent des valeurs rouge, verte, bleue (RVB) pour les zones de couleurs personnalisées dans la boîte de dialogue. Si l’utilisateur modifie ces couleurs, le système met à jour le tableau avec les nouvelles valeurs RVB. Pour conserver de nouvelles couleurs personnalisées entre les appels à la fonction ChooseColor , vous devez allouer de la mémoire statique pour le tableau. Pour créer une valeur de couleur COLORREF , utilisez la macro RVB .

Flags

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue Couleur . Lorsque la boîte de dialogue retourne, elle définit ces indicateurs pour indiquer l’entrée de l’utilisateur. Ce membre peut être une combinaison des indicateurs suivants.

Valeur Signification
CC_ANYCOLOR
0x00000100
Provoque l’affichage de toutes les couleurs disponibles dans l’ensemble de couleurs de base.
CC_ENABLEHOOK
0x00000010
Active la procédure de hook spécifiée dans le membre lpfnHook de cette structure. Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
CC_ENABLETEMPLATE
0x00000020
Les membres hInstance et lpTemplateName spécifient un modèle de boîte de dialogue à utiliser à la place du modèle par défaut. Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
CC_ENABLETEMPLATEHANDLE
0x00000040
Le membre hInstance identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Le système ignore le membre lpTemplateName si cet indicateur est spécifié. Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
CC_FULLOPEN
0x00000002
Provoque l’affichage des contrôles supplémentaires qui permettent à l’utilisateur de créer des couleurs personnalisées. Si cet indicateur n’est pas défini, l’utilisateur doit cliquer sur le bouton Définir une couleur personnalisée pour afficher les contrôles de couleur personnalisés.
CC_PREVENTFULLOPEN
0x00000004
Désactive le bouton Définir une couleur personnalisée .
CC_RGBINIT
0x00000001
Provoque l’utilisation de la couleur spécifiée dans le membre rgbResult comme sélection de couleur initiale.
CC_SHOWHELP
0x00000008
Provoque l’affichage du bouton Aide. Le membre hwndOwner doit spécifier la fenêtre pour recevoir les messages inscrits HELPMSGSTRING que la boîte de dialogue envoie lorsque l’utilisateur clique sur le bouton Aide .
CC_SOLIDCOLOR
0x00000080
La boîte de dialogue affiche uniquement les couleurs solides dans l’ensemble de couleurs de base.

lCustData

Type : LPARAM

Données définies par l’application que le système transmet à la procédure de crochet identifiée par le membre lpfnHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de crochet, le paramètre lParam du message est un pointeur vers la structure CHOOSECOLOR spécifiée lors de la création de la boîte de dialogue. La procédure de crochet peut utiliser ce pointeur pour obtenir la valeur lCustData .

lpfnHook

Type : LPCCHOOKPROC

Pointeur vers une procédure de hook CCHookProc qui peut traiter les messages destinés à la boîte de dialogue. Ce membre est ignoré, sauf si l’indicateur CC_ENABLEHOOK est défini dans le membre Flags .

lpTemplateName

Type : LPCTSTR

Nom de la ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance . Ce modèle est remplacé par le modèle de boîte de dialogue standard. Pour les ressources de boîte de dialogue numérotées, lpTemplateName peut être une valeur retournée par la macro MAKEINTRESOURCE . Ce membre est ignoré, sauf si l’indicateur CC_ENABLETEMPLATE est défini dans le membre Flags .

lpEditInfo

Configuration requise

   
Client minimal pris en charge Windows 10 build 20348
Serveur minimal pris en charge Windows 10 build 20348
En-tête commdlg.h

Voir aussi

CCHookProc

ChooseColor

Bibliothèque de boîtes de dialogue courante

Conceptuel

MAKEINTRESOURCE

Référence