FONCTION GDI - MANIPULATION DC ( VERY DEBUTANT )

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 1 mai 2005 à 21:16
DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 - 22 juin 2005 à 20:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31129-fonction-gdi-manipulation-dc-very-debutant

DormeurDev Messages postés 61 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 20 avril 2006 1
22 juin 2005 à 20:49
attention aux "lol"
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
2 mai 2005 à 18:32
Donc vala mise à jour, j'ai comme tu as dis passer un DC en paramètre...
Pour ce qui est du message de coucou, c du win32 mais bon rien de plus basic...

Et en effet c'est chiant les soeurs :)
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
1 mai 2005 à 21:33
je verrais demain lol j'ai une soeur :)
qui aime le tchat lol
Si ta une solution pour écrire sur la gueule a ma soeur avec un Device Context
TextOut( TinkiWinki, 0, 0, "Soeur a joky" )

Ou tinkiWinki est le handle :)
lol

Jméloigne la
@demain compagnon
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 mai 2005 à 21:27
Bah ca dépend, tu fais comme tu veux, mais comme tu appelles ChangerCouleur pas seulement dans WM_PAINT, il faut que tu récupères un DC avant.
Je mettrais un HDC hdc en param de ChangerCouleur. Dans WM_PAINT tu récupère un DC avec BeginPaint/EndPaint comme j'ai écrit plus haut, et dans les autres case (WM_LBUTTONDOWN...) tu fais un GetDC/ReleaseDC
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
1 mai 2005 à 21:21
Et donc faut que je vire le BeginPaint dans la fonction ChangerCouleur ???
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 mai 2005 à 21:18
Pardon, je voulais dire:

HDC hdc = BeginPaint(hWnd, &ps);
ChangerCouleur(hdc);
EndPaint(hWnd, &ps);

dans WM_PAINT
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 mai 2005 à 21:16
Je crois que tu as lu un peu vite le bouquin: dans ChangerCouleur tu récupère un DC avec GetDC, puis tu appelles BeginPaint qui te fournit un autre DC. Pire, quand tu recois WM_PAINT tu appelles BeginPaint, puis tu appelles ChangerCouleur, soit 1 GetDC et 2 BeginPaint...

Ce qu'il faut faire:
HDC hdc = BeginPaint(&ps);
ChangerCouleur(hdc);
EndPaint(&ps);