Bonjour � tous!

Je vais avoir besoin des champions sur ce coup l�.

Je cr�� dynamiquement des objets graphiques, comme des CEdit et des CRichEdit

Cependant, l� o� ce code marche tr�s bien pour le redimensionnement des CEdit, il foire totalement pour les CRichEdit, mais je ne sais absolument pas pourquoi.

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
void CInPlaceEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
       CEditEx::OnChar(nChar, nRepCnt, nFlags);
 
	// Resize edit control if needed
 
	// Get text extent
	CString str;
 
	GetWindowText(str);
	CWindowDC dc(this);
	CFont *pFont = GetParent()->GetFont();
	CFont *pFontDC = dc.SelectObject( pFont );
	CSize size = dc.GetTextExtent( str );
	dc.SelectObject( pFontDC );
	size.cx += 5;			   	// add some extra buffer
 
	// Get client rect
	CRect rect, parentrect;
	GetClientRect( &rect );
	GetParent()->GetClientRect( &parentrect );
 
	// Transform rect to parent coordinates
	ClientToScreen( &rect );
	GetParent()->ScreenToClient( &rect );
 
	// Check whether control needs to be resized
	// and whether there is space to grow
	if( size.cx > rect.Width() )
	{
		if( size.cx + rect.left < parentrect.right )
			rect.right = rect.left + size.cx;
		else
			rect.right = parentrect.right;
		MoveWindow( &rect );
	}
}
J'ai l'impression que l'objet CRichEdit inclus une bordure qui, lors du redimensionnement, donne un r�sultat d�bile.
De plus, il est possible que le soucis vienne de l'apparition des scrolls bar dans le CRichEdit.

Je ne sais pas si je suis clair, mais pour faire simple, je voudrais que la taille de mon CRichEdit s'adapte � la taille du contenu texte.

Merci d'avance