gemx
Messages postés6Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 8 novembre 2004
-
28 oct. 2004 à 16:38
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
9 nov. 2004 à 08:52
Bon il me semble que j'ai bien compris comprend dessiner dans une fenêtre, avec le WM_PAINT.
Imaginon, je je dessine un damier avec les jeton !
Mon probleme, c'est qu'as chaque fois mon dammier est redessiner ainsi que toute les pieces ! Question bouffer des ressources, c'est pas génial ! Comment dois-je faire pour redessine qu'une seul zone ! dois-je aussi réutiliser W_PAINT ? si c'est le k, comment puis-je faire pour qu'il ne redessine pas tout !
Enfin voila, je suis un peu perdu !
Je vous remerci d'avance !
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
(Albert Einstein)
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 28 oct. 2004 à 16:48
lorsque tu veux redessiner ta fenêtre avec InvalidateRect, il faut que tu passe la zone à mettre à jour.
dans WM_PAINT,, tu récupère la zone à mettre à jour :
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
ps.rcPaint doit contenir le rectangle à mettre à jour, a toi de faire selon.
Mais bon, si ce qu'il y a à dessiner n'est pas trop compliquer, tu peut tout redessiner mais en utilisant le double-buffering pour ne pa voir le dessin se "dessiner"
gemx
Messages postés6Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 8 novembre 2004 8 nov. 2004 à 16:49
Bon, comme tu l'as dit ymca2003, j'ai utilisé le double buffering. ça semble pas mal !
Le probleme c'est que le double buffering c'est juste en fait le dessin qui est charger dans une image, à l'aide d'un "BitBlt" et qui est affiché par la suite, Non ?
Mais moi je doit aussi charger des images (notaments des pions)! Coyez-vous qu'il soit possible de charger aussi ses images dans le double buffer ? Si oui, pourriez-vous m'indiquer comment ?
je vous remerci d'avance.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
(Albert Einstein)
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 9 nov. 2004 à 08:52
pour le double buffering, tu crée un DC en mémoire et un bitamp de la taille de la zone d'écran que tu sélectionne dans le DC en mémoire.
Ensuite, tu dessine dedans comme tu le ferais avec le DC de ta fenêtre, puis à la fin (quand tout est dessiner dans le dc en mémoire), tu fais BitBlt à l'écran.
En ce qui concerne le dessin de tes pions, tu doit également créer un DC pour sélectionné le bitmap chargé puis recopier ce Dc dans le DC en mémoire, toujours avec BitBlt.