Partager via


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;
} CHOOSECOLORA, *LPCHOOSECOLORA;

Membres

lStructSize

Type : DWORD

Longueur, en octets, de la structure.

hwndOwner

Type : HWND

Handle de 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 avoir la valeur NULL si la boîte de dialogue n’a pas de propriétaire.

hInstance

Type : HWND

Si l’indicateur CC_ENABLETEMPLATEHANDLE est défini dans le membre Flags , hInstance est un handle d’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 d’un module qui contient un modèle de boîte de dialogue nommé par le membre lpTemplateName . Si ni 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 lors de la création de la boîte de dialogue. Si la valeur de couleur spécifiée ne figure pas parmi les couleurs disponibles, le système sélectionne la couleur unie la plus proche disponible. Si rgbResult est égal à zéro ou si 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 rouges, vertes et bleues (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
Entraîne l’affichage de toutes les couleurs disponibles dans l’ensemble de couleurs de base de la boîte de dialogue.
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
La boîte de dialogue affiche les 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
La boîte de dialogue utilise la couleur spécifiée dans le membre rgbResult comme sélection de couleur initiale.
CC_SHOWHELP
0x00000008
Entraîne l’affichage du bouton Aide dans la boîte de dialogue. 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
Fait en sorte que la boîte de dialogue affiche uniquement les couleurs unie 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 hook identifiée par le membre lpfnHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de hook, 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 hook peut utiliser ce pointeur pour obtenir la valeur lCustData .

lpfnHook

Type : LPCCHOOKPROC

Pointeur vers une procédure de crochet 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 Indicateurs .

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 Indicateurs .

Configuration requise

Condition requise Valeur
En-tête commdlg.h

Voir aussi

CCHookProc

ChoisirColor

Bibliothèque de boîtes de dialogue commune

Conceptuel

MAKEINTRESOURCE

Référence