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 |
---|---|
|
Entraîne l’affichage de toutes les couleurs disponibles dans l’ensemble de couleurs de base de la boîte de dialogue. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Désactive le bouton Définir une couleur personnalisée . |
|
La boîte de dialogue utilise la couleur spécifiée dans le membre rgbResult comme sélection de couleur initiale. |
|
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 . |
|
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
Bibliothèque de boîtes de dialogue commune
Conceptuel
Référence