Stepharcher
Messages postés117Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention 8 septembre 2008
-
12 août 2006 à 13:16
Stepharcher
Messages postés117Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention 8 septembre 2008
-
12 août 2006 à 15:07
Bonjour à tous !
J'ai récemment tenté le double buffer sous window avec GDI... Mais je ne comprend pas trop mon erreur. Quand je dessine directement sur mon DC, ça marche. Quand je crée un compatible DC, que je dessine tout dessus et que je plaque mon compatible DC sur mon DC... bah ça marche plus ^_^
Mon code ressemble à peu près à ça :
// Je dessine tout dans mon compDC, genre un rectangle ou une image
// Ensuite je place mon compDC dans mon DC
BitBlt(hdc, 0, 0, width, height, compDC, 0, 0, SRCCOPY);
Mais je comprend pas où est mon erreur... Est-ce que ça serait sur ma manière de dessiner ? Si c'est le cas alors pourquoi ça marche quand j'essaye directement sur mon hdc ?
Si quelqu'un pouvait me renseigner sur le problème ça serait sympa :)
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201013 12 août 2006 à 15:04
Non non tu as juste à selectionner la bitmap dedans. Après tu dessines dans compDC comme si c'était un DC normal. En fait tu ajoutes juste ces deux lignes et ca devrait marcher
HBITMAP hbmp = CreateCompatibleBitmap(hdc, width, height);
SelectObject(compDC, hbmp);
// Je dessine tout dans mon compDC, genre un rectangle ou une image
// Ensuite je place mon compDC dans mon DC
BitBlt(hdc, 0, 0, width, height, compDC, 0, 0, SRCCOPY);
Stepharcher
Messages postés117Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention 8 septembre 2008 12 août 2006 à 15:01
Oki donc si je veux dessiner un rectangle avec la fonction rectangle, il faut que je me débrouille pour en faire un bitmap puis que je le place dans mon DC mémoire. Merci j'vais essayer ^_^