Bonjour!
J'ai des centaines de petits contrôles que j'aimerais dessiner à travers un memDC, au moment où je dessine leur container.
Pour cela, je crée le memDC dans le container et j'appelle le OnDraw de chaque contrôle.
Cependant, le OnPaint de mes contrôles est toujours actifs! J'ai essayé de ne pas trapper l'événement, mais c'est le OnPaint de CWnd qui doit être appelé. J'ai aussi essayé de faire une fonction vide, mais à ce moment là je perds mes timers. J'ai ensuite essayé de mettre SetRedraw(false), mais ça bloque la fenêtre et je n'ai plus les événements qui y sont liés.
Si je crée un CPaintDC, ou si j'appelle BeginPaint et EndPaint dans le OnPaint, ça fonctionne, mais c'est au moins 3 fois plus lent (et déjà qu'en optimisant, ça prend tout près de 5 secondes par affichage...)
Est-ce qu'il y a un moyen plus rapide de faire cela? Peut-être je ne suis même pas dans la bonne direction, je n'ai pas trop l'habitude...
Merci de m'éclairer un brin sur la chose!
Partager