hello,
j'ai modifié 2 trucs sur ton code et ca marche:
deja je travaille pas dans la fonction OnPaint mais je crée un timer pour déssiner a intervalle régulier (regarde le dernier commentaire de ton source: // Do not call CDialog::OnPaint() for painting messages) et je fais:
CDC *pDC;
pDC=GetDC();
//mise en place du double-buffering
CDC dc;
dc.CreateCompatibleDC(pDC);
//on y ajoute un bitmap pour agrandir dc
CBitmap memBmp;
memBmp.CreateCompatibleBitmap(pDC, 200, 200);
CBitmap* OldBmp = dc.SelectObject(&memBmp);
//operation de dessin sur dc
CPen aPen, *oldPen;
CBrush *oldBrush;
aPen.CreatePen(PS_SOLID,1,RGB(0,0,0));
oldPen=dc.SelectObject(&aPen);
oldBrush=static_cast<CBrush*>(dc.SelectStockObject(WHITE_BRUSH));
dc.Rectangle(0,0,200,20);
dc.SelectObject(oldPen);
dc.SelectObject(oldBrush);
//on bascule dc vers fdc
//fdc.BitBlt(0,0,401+DEC_X,401+DEC_Y,&dc,0,0,SRCCOPY);
pDC->BitBlt(0,0,200,200,&dc,0,0,SRCCOPY);
dc.SelectObject(OldBmp);
dc.DeleteDC();
memBmp.DeleteObject();
ReleaseDC(pDC);
A+