API win32: Comment éviter le scintillement sur l'écran

rachid12450 Messages postés 13 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mars 2009 - 12 déc. 2006 à 11:21
rachid12450 Messages postés 13 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mars 2009 - 13 déc. 2006 à 10:38
salut à tous
Pour empêcher le scintillement on peut utiliser le double bueffering
mais lorsqu'on a une fenêtre principale et une fenêtre enfant sur la surface client
de la fenêtre parent, doît-on faire du double buffering dans les deux procédures
parent et enfant ou selement dans celle de la fenêtre parent?
merçi d'avance.

2 réponses

SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
12 déc. 2006 à 17:38
C'est a l'endroit ou tu dessines. Est ce que par exmple tu travailles avec le WM_PAINT de la fenetre parent ou enfant ?
Logiquement tu devrais avoir a le faire uniquement dans la procedure de le fenetre enfant.
0
rachid12450 Messages postés 13 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mars 2009
13 déc. 2006 à 10:38
ok
je vais essayer cela
mais si la fenêtre principale contient une centaine de fenêtre enfant cela devient peu pratique d'utiliser les procédures de ces fenêtres.
En fait l'origine de ma question est j'ai réalisé une application sous forme d'une fenêtre principale contenant un TAB_CTRL à deux onglets
un onglet contient des des fenêtres recevant des données
l'autre onglet contient des fenêtre affichant les résultats de ces données traitées
mon vrai problème est que:
quand je modifie rapidement la taille de la fenêtre principale (et celle des autres indirectement) en maintenant le bouton de la souris appuiyé et que refait cela fréquement et rapidement, j'ai en plus du scintillement ma fenêtre qui est endommagé les contrôles perdent leurs attributs de couleur, font, initialisations etc..
même la fenêtre d'arrière plan qui n'a rien à avoir avec le programme est endommagée.
Ce qui est intrigant c'est quand je lance l'appliation sur Windows 2000 (au lieu de XP) rien de tout cela ne se passe tout est parfait.
on m'a donné sur ce site la réponse disant que windows XP est très gourmant en ressource et que c'est tout à fait normal,
je reste pas très convaincu, c'est ainsi que j'ai pensé au double buffering
mais je ne saisvraiment quel est le problème
rachid12450
en tout cas merçi beaucoup
0
Rejoignez-nous