Choisir une couleur d'une palette avec un clic MFC!

[Résolu]
Signaler
Messages postés
65
Date d'inscription
jeudi 4 septembre 2003
Statut
Membre
Dernière intervention
17 avril 2009
-
Messages postés
65
Date d'inscription
jeudi 4 septembre 2003
Statut
Membre
Dernière intervention
17 avril 2009
-
Bonjour ! j'ai besoin pour ma ptite appli de selectionner une couleur parmis toute une gamme, et je voudrai afficher cette dialogue box

Le reste n'a pas d'importance ! je veu au moins ca ! si c'est possible
A la fermeture de la dialogBox, je puisse récuperer le RGB,

Je voudrai juste la gamme de couleur que je pourrai implementer dans une DialogBox, les 3 champs RGB, la barre de niveau de gris, la couleur selectionée, et un bouton OK

Je suis incapable de me reprogramer une fenetre Comme ca !
réserver un espace dune DB pour dessinez des points de couleurs, pour la gamme???
meme system pour gerrer la barre de niveau de gris ???
récuperer la couleur du pixel, sous le curseur!!!

j'ai absolument besoin de ce truc, et je ve pas de "bordel" a coté !
alors comment je dois m'y prendre ?

ne savez-vous pas vous ?

n'y a t'il pas un truc tous simple pour l'appeler cette gentille fenetre ? :)

ps : il y a n petit exemple de code du coté de chez bunews "choisir une couleur", mais ca m'aide vraiment pas !

2 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Regarde du coté de ChooseColor() sur MSDN.

+2(p - n)
Messages postés
65
Date d'inscription
jeudi 4 septembre 2003
Statut
Membre
Dernière intervention
17 avril 2009

Merci AlexMan j'ai trouvé bonheur, grace a toi!

voici le code que j'ai récupérer; il sert à ouvrir cette fameuse fenêtre :p

CHOOSECOLOR cc; // common dialog box structure
static COLORREF acrCustClr[16]; // array of custom colors
HWND hwnd; // owner window
HBRUSH hbrush; // brush handle
static DWORD rgbCurrent; // initial color selection

// Initialize CHOOSECOLOR
ZeroMemory(&cc, sizeof(cc));
cc.lStructSize = sizeof(cc);
cc.hwndOwner = hwnd;
cc.lpCustColors = (LPDWORD) acrCustClr;
cc.rgbResult = rgbCurrent;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;

if (ChooseColor(&cc)==TRUE) {
hbrush = CreateSolidBrush(cc.rgbResult);
rgbCurrent = cc.rgbResult;
}

Avec ca je m'en sortirai