Je developpe un appli sous VC++6 (avec les MFC).
Le probleme est que l'affichage graphique scintille. J'ai pourtant utilise un double buffer.
Voici l'extrait de la methode OnPaint() de ma fenetre de dialog:
//...
CPaintDC dc(this);
CRect rcClient;
GetClientRect(rcClient);
CDC memDC;
memDC.CreateCompatibleDC(&dc);
CBitmap memBmp;
memBmp.CreateCompatibleBitmap(&dc, rcClient.Width(), rcClient.Height());
CBitmap* pOldBmp = memDC.SelectObject(&memBmp);
// effacement du fond
CBrush backBrush;
backBrush.CreateSolidBrush(RGB(255, 255, 255));
memDC.FillRect(rcClient, &backBrush);
backBrush.DeleteObject();
// recopie du contexte en mémoire
dc.BitBlt(0, 0, rcClient.Width(), rcClient.Height(), &memDC, 0, 0, SRCCOPY);
// destruction contexte d'affichage
memDC.SelectObject(pOldBmp);
memDC.DeleteDC();
memBmp.DeleteObject();
//...
Cette methode est appelee a chaque mouvement de souri (avec la methode invalidate() ) et ne fait que remplir la fenetre de blanc (pour aleger la question sur ce forum). Et ca SCINTILLE !!!
Ou est le probleme?
Merci
Afficher la suite