Bonsoir !

Avant, j'ai utilisé pDC->Rectangle() et pDC->TextOut() pour écrire dedans; ensuite, j'utilisais alors la méthode SetROP2() pour déplacer le rectangle avec le texte dessus, pour le texte il fallait encore plus d'ingéniosité !!
Récemment, j'ai découvert une autre technique, meilleure mais qui fait que les figures tracés ne tremblent pas ni ne saccadent à chaque invalidation (rafraîchissement) où les figures sont stockés dans une liste (CObArray par ex) mais il déplacer très bien une zone rectangulaire avec divers motifs dedans . Cette technique c'est l'utilisation de InflateRect() suivi après de InvalidateRect().
Comment les utiliser ?? J'ai vu dans le sample MFC de MSDN une utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void CDrawView::InvalObj(CDrawObj* pObj)
{
	CRect rect = pObj->m_position;
	DocToClient(rect);
	if (m_bActive && IsSelected(pObj))
	{
		rect.left -= 4;
		rect.top -= 5;
		rect.right += 5;
		rect.bottom += 4;
	}
	rect.InflateRect(1, 1); // handles CDrawOleObj objects
	InvalidateRect(rect, FALSE);
}
Ne tiens pas compte de CDrawObj mais on n'utilisera que m_position la zone rectangulaire de cet objet !!

Entre temps, c'est quoi ?? sa syntaxe : void DPtoLP( LPRECT lpRect ) const;

Merci bcp d'avance !!