Changer la couleur d'un "Pen" [Résolu]

Signaler
Messages postés
10
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
20 janvier 2006
-
Messages postés
10
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
20 janvier 2006
-
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

Messages postés
10
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
20 janvier 2006

En fait j'ai trouvé la solution, il falait faire :

p->set_Color(System::Drawing::Color::fromArgb(r,g,b)):
Messages postés
41
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
3 mars 2006

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.