IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Redimensionnement d'un CRichEditCtrl


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Par d�faut Redimensionnement d'un CRichEditCtrl
    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

  2. #2
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par d�faut
    Hello mais quels param�tres passe-tu au constructeur du RicheditCtrl ?
    Je conseille de regarder dans le MSDN et les m�thodes membres de cette classe

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Par d�faut
    Je passe par un Create auquel je passe les parametres suivants:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    dwStyle, rect, this, IDC_IPRICHEDIT
    rect contient la taille de l'objet contenant (et elle est correcte)

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Par d�faut
    Bon, je viens de comprendre, apr�s un gros moment rest� dubitatif, que le probl�me vient de l'appel � la m�thode MoveWindow qui ne se comporte pas de la m�me fa�on avec l'objet de type CRichEditCtrl.
    Mais pour le coup, je ne saurais dire pourquoi...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Kylix] Fen�tres non redimensionnables
    Par fred78 dans le forum EDI
    R�ponses: 2
    Dernier message: 01/12/2002, 14h08
  2. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et ant�rieur
    R�ponses: 7
    Dernier message: 30/09/2002, 18h32
  3. redimensionnement d'une JWindow
    Par mbp566 dans le forum Agents de placement/Fen�tres
    R�ponses: 2
    Dernier message: 02/08/2002, 03h41
  4. Redimensionnement des Paquets IP sur un R�seau Local
    Par Bonoboo dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 12/07/2002, 15h40
  5. Redimensionnement d'une surface
    Par Freakazoid dans le forum DirectX
    R�ponses: 4
    Dernier message: 01/07/2002, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo