Pinceau, crayon et économie.

Résolu
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 - 3 avril 2008 à 20:07
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 - 10 avril 2008 à 10:29
Bonsoir.

Voila je dois dessiner dans une fenetre windows j'ai donc besoin d'un pinceau et d'un crayon. Le problème c'est qu'ils peuvent prendre une quasi centaine de couleurs différentes. Du coup je ne pense pas envisageable de tous les créer et je pensais plutot à changer la couleur en fonction des besoins (cela demanderais moins de mémoire, qui sera déja bien prise).

Pour le moment je recréais le pinceau et le crayon à chaque fois que j'en ai besoin mais je pense pas que cela soit très performant (je change très souvent de pinceau donc je cherche aussi la rapidité en plus du peu de place).
Je pense donc que le plus efficace est de juste changer la couleur de mes outils mais je n'y arrive pas... comment faire s'il vous plait.

Merci d'avance.

<hr width="100%" size="2" />
Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.

6 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 avril 2008 à 21:44
SetDCPenColor, SetDCBrushColor

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
9 avril 2008 à 18:16
Salut,

Caster un pointeur en HDC, c'est pas forcement une bonne idée.

Essaye avec dc->SelectStockObject(DC_BRUSH);

et n'hésite pas a regarder la doc des mfc sur msdn, c'est super bien fait.
3
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
3 avril 2008 à 22:25
Merci mais voilà le code :

CBrush lPinceau(RGB(255,255,255));
dc->SelectObject(lPinceau);
dc->SetDCBrushColor(RGB(255,255,0));

dc->Rectangle(3,10,10,10);

et avec ce code la j'ai quand même un pinceau blanc, je pense bien utiliser la fonction SetDCBrushColor mais après faut il "actualiser" le device context ou faire quelque chose?

Merci.





<hr width="100%" size="2" />
Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
8 avril 2008 à 04:31
Salut,

SetDCBrushColor ça te permet de changer la couleur du pen, mais il faut
toujours selectionner le bon pen dans ton DC avant de pouvoir
l'utiliser:

SelectObject(hDC, GetStockObject(DC_BRUSH));

à adapter pour que ca marche avec les MFC.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
9 avril 2008 à 13:55
voila mon dernier essai :

    CBrush lPinceau(RGB(0,0,0))
     dc->SelectObject(lPinceau);
    SelectObject((HDC)dc, GetStockObject(DC_BRUSH));
    dc->SetDCBrushColor(RGB(255,255,255));

mais même avec ce code tout est peint en noir... d'où vient le soucis?
merci.

<hr size="2" width="100%" />Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.
0
moumouteb Messages postés 192 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 28 février 2011 10
10 avril 2008 à 10:29
Merci ça marche bien comme ça. Donc je récapitule :

    CBrush lPinceau(RGB(0,0,0))
     dc->SelectObject(lPinceau);
    dc->SelectStockObject(DC_BRUSH);
    dc->SetDCBrushColor(RGB(255,255,255));

Merci encore.

<hr width="100%" size="2" />
Quand la merde vaudra de l'or les pauvres naitront sans trou du cul. Coluche.
0
Rejoignez-nous