Changer la couleur d'un "Pen"

Résolu
giom236 Messages postés 10 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 20 janvier 2006 - 20 janv. 2006 à 10:35
giom236 Messages postés 10 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 20 janvier 2006 - 20 janv. 2006 à 13:32
Bonjour,

J'aurais besoin de modifier la couleur du crayon avec lequel je dessine
dans une fenêtre graphique avec trois valeurs entières r,g,b.

Quelqu'un peut il m'expliquer comment faire, et pourquoi aucune de ces
trois lignes ne fonctionne (je me suis pris la tête plus d'une heure
dessus hier avec des variantes de ces lignes)

p est mon instance de Pen.



J'ai essayé :

p->setColor(Color(r,g,b));

Mais il me dit que Color est un undeclared identifier.



p->setColor(System::Drawing::Color(r,g,b)):

Mais il me dit (???) qu'il n'esiste pas d'oveload de
System::Drawing::Color prenant 3 arguments. (pourtant, bien sûr que si,
dans la doc)



p->setColor(RGB(r,g,b));



J'ai l'impression que Color n'est pas une "vraie" classe, puisqu'il
refuse d'instancié une nouvelle Color. Quand à COLORREF, c'est bien,
mais setColor prend obligatoirement en argument une COLOR, et je
ne trouve pas non plus de convertisseur de type entre ces deux.



Merci de m'aider à Clarifier les choses.



Guillaume

2 réponses

giom236 Messages postés 10 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 20 janvier 2006
20 janv. 2006 à 13:32
En fait j'ai trouvé la solution, il falait faire :

p->set_Color(System::Drawing::Color::fromArgb(r,g,b)):
3
CoyoteVsBeepBeep Messages postés 41 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 3 mars 2006
20 janv. 2006 à 11:46
pour ton pen:
essai de faire:

CPen pen_draw;
CDC *pDC;

pDC=GetDC();
pen_draw.CreatePen(PS_SOLID,size,RGB(r,g,b));
pDC->SelectObject (&pen_draw);
pen_draw.DeleteObject();
ReleaseDC(pDC);

deja ca te permettra de changer de stylo.

j'ai pas vu de setcolor dans la class CPen....

a suivre.
0
Rejoignez-nous