J'ai une boîte de dialogue qui redimensionne. Il a également un arrière-plan personnalisé que je peins en réponse à un appel WM_ERASEBKGND (actuellement un simple appel à FillSolidRect). Lorsque la boîte de dialogue est redimensionnée, le scintillement est important. Pour essayer de réduire le scintillement, j'énumère toutes les fenêtres enfants et les ajoute à la région de découpage. Cela semble aider un peu - maintenant le scintillement est surtout évident dans tous les contrôles enfants comme ils repeignent.Comment éviter le scintillement lors de la manipulation de WM_ERASEBKGND dans la boîte de dialogue Windows
Comment rendre la boîte de dialogue sans scintillement lors du redimensionnement? Je soupçonne que le double tampon doit jouer un rôle, mais je ne suis pas sûr de savoir comment le faire avec un dialogue avec les contrôles enfants (sans faire tous les contrôles enfants dessiner un propriétaire ou quelque chose comme ça).
Je dois souligner que je suis en C++ (pas .NET) et MFC, bien que pures solutions Win32 sont les bienvenus :)
NOTE: Une chose que j'ai essayé, mais qui ne fonctionne pas (non Bien sûr pourquoi) était:
CDC memDC;
memDC.CreateCompatibleDC(pDC);
memDC.FillSolidRect(rect, backgroundColor);
pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);