C & API Win32: région invalide à réafficher.. - C - Programmation
Marsh Posté le 30-08-2005 à 05:21:19
si ta fonction paint est lente, tu peux utiliser un double buffer.
Tu ne rends dans ton back buffer que lorsque tu as besoin d'en changer le contenu. Lorsque tu reçois une commande paint, tu te contentes de copier le contenu du buffer dans ta fenetre en utilisant le rectangle partiel passé en argument à paint.
Marsh Posté le 30-08-2005 à 09:28:53
Je crois que c'est le fait que le dessin apparaisse progressivement qui le dérange. Ca s'appelle le flickering. Ce que t'as donné LeGreg est la bonne solution.
Exemple ici:
http://msdn.microsoft.com/library/ [...] licker.asp
Marsh Posté le 30-08-2005 à 01:11:31
je débute en programmation windows en C (donc avec API Win32 avec VC++6 ou 2003
j'ai codé un prog de base qui, dans la zone cliente d'une fenetre windows,
affiche des lignes de caractères (voir morceau de code ci-dessous).
en l'état actuel, à chaque fois qu'une région de la fenetre en question
est rendue invalide:
le code de la wndproc lié au message WM_PAINT appelle a nouveau
toutes les fonctions, meme si la fct TextOut ne réaffiche réellement que la zone invalide,
on peut constater que toute la région cliente est passée en revue et que ça prend du temps..
OBJECTIF:
comment ne réafficher que la région invalide?
je vois qu'on peut récupérer les coordonnées de cette région dans la structure RECT
mais je ne sais pas comment procéder
help please
P.S. je n'ai pas internet actuellement.. je ne peux y accéder que très ponctuellement et 2-3 min seulement.. merci de votre compréhension.
Lep
voici une partie de mon code: