Double Buffering

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 25 févr. 2004 à 18:30
ikaemos Messages postés 9 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 4 décembre 2005 - 3 déc. 2005 à 23:31
bon, pour eviter que mon controle "scintille" au redimensionnement, G trouver cette solution :

mettre
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true);

dans le constructeur du controle personnalisé (heritant de System.Windows.Forms.Control)

mais cette solution fait apparaitre un autre probleme : l'actualisation de l'affichage du controle ne se fait plus quand on bouge le form qui le contient en dehors de l'ecran et qu'on le ramene, ou même quand on fait passer une autre fenetre au dessus de celle là
artistiquement parlant certains pourraient trouver ça beau mais C pas tres fonctionnel ^^

qq aurait une solution ? (en dehors de refaire le double buffering soi même)

Cocoricoooooooo !!!!

4 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
25 févr. 2004 à 20:36
laissez tomber : tout compte fait G refait le double buffering
C pas plus mal ^^

Cocoricoooooooo !!!!
0
typhoonx Messages postés 22 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 5 mars 2008
25 juin 2004 à 14:21
Comment fais tu ? moi j'ai des dessins (line, polygones, etc.) et à chq redimentionnement ça scintille un max... car je dois les redessiner.

Merci
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
25 juin 2004 à 14:54
tu declares un Bitmap de la taille de ta zone de dessin, tu dessines dessus puis quand tout est dessiné tu dessines ton bitmap sur ta zone de dessin avec drawimageunscaled

Cocoricoooooooo !!!!
0
ikaemos Messages postés 9 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 4 décembre 2005
3 déc. 2005 à 23:31
Le souci de cette méthode est qu'elle est malheureusement beaucoup moins optimisée. Le cpu monte beaucoup plus vite si on invalide de façon intempestive le contrôle. J'ai voulu tenter ça sur une listbox pour éviter le flicking et ce n'est pas très concluant.
0
Rejoignez-nous