Bonjour
J'aimerai savoir s'il est possible de connaitre l'espace utilis� par un texte dans un CStatic.
Ceci afin de redimensionner le CStatic a son contenu.
Merci
Bonjour
J'aimerai savoir s'il est possible de connaitre l'espace utilis� par un texte dans un CStatic.
Ceci afin de redimensionner le CStatic a son contenu.
Merci
salut,
oui c'est possible tu veux le faire automatiquement ou � la demande ?
![]()
Ce qui est affirm� sans preuve peut �tre ni� sans preuve Euclide.
Les conversions num�riques en C,C++,C++/CLI
DLL d'extensions : �criture d'un plug-in de classe
D�marrer avec les MFC 2/2
Cr�ation d'un ActiveX MFC
Int�gration d'une imprimante PDF pour �ditions automatis�es
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
D�marrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
un truc comme �a devrait suffire:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 CRect Rect; MyStatic.GetClientRect(&Rect); CDC *pDC=MyStatic.GetDC(); CFont *pFont=MyStatic.GetFont(); CFont *pOldFont=pDC->SelectObject(pFont); CString str; MyStatic.GetWindowText(str); CSize size=pDC->GetTextExtent(str); pDC->SelectObject(pOldFont); MyStatic.ReleaseDC(pDC); MyStatic.SetWindowPos( NULL,0,0,size.cx+2,Rect.Height(),SWP_NOMOVE | SWP_NOZORDER); // uniquement la taille![]()
Ce qui est affirm� sans preuve peut �tre ni� sans preuve Euclide.
Les conversions num�riques en C,C++,C++/CLI
DLL d'extensions : �criture d'un plug-in de classe
D�marrer avec les MFC 2/2
Cr�ation d'un ActiveX MFC
Int�gration d'une imprimante PDF pour �ditions automatis�es
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
D�marrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Cela fonctionne un peu...
Sur la longueur c'est bon, il retourne bien le width du texte.
mais a une condition, que le texte ne soit pas multilignes... dans ce cas il ne
prend pas en compte les retours chariots et concidere que tout est concat�n�.
Et pour la hauteur cela ne fonctionne pas du tout... il me retourne toujours
une valeur beaucoup plus grande que la hauteur de la ligne.
Dois je faire quelque chose d'autre ? car la doc sur GetTextExtent est vraiment limit�e.
Je cherche de mon cot� mais si quelqu'un connait la solution je suis prenneur
![]()
Merci
ha ben c'est s�r tu n'as pas precis� que c'etait un contr�le multi-ligne...
d'ailleurs pourquoi ne pas activer l'ascenseur dans ce contexte ?
sinon le principe est le m�me
pour chaque ligne tu calcules la taille de la ligne:
tu cumuls la hauteur et tu ne retiens que la largeur la plus grande.
le setwindows devra utiliser ces valeurs avec quelques pixels en plus .
![]()
Ce qui est affirm� sans preuve peut �tre ni� sans preuve Euclide.
Les conversions num�riques en C,C++,C++/CLI
DLL d'extensions : �criture d'un plug-in de classe
D�marrer avec les MFC 2/2
Cr�ation d'un ActiveX MFC
Int�gration d'une imprimante PDF pour �ditions automatis�es
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
D�marrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Oui desol� de ne pas l'avoir precis� ;-)
Oui en cherchant un peu j'ai vu qu'il fallait decomposer les lignes et sommer la hauteur.
Mais ce que je trouve etrange c'est que la hauteur qu'il me retourne pour ma ligne est enorme... plus de 100px
Je continue a chercher et merci pour tout
montre ton code ...
Ce qui est affirm� sans preuve peut �tre ni� sans preuve Euclide.
Les conversions num�riques en C,C++,C++/CLI
DLL d'extensions : �criture d'un plug-in de classe
D�marrer avec les MFC 2/2
Cr�ation d'un ActiveX MFC
Int�gration d'une imprimante PDF pour �ditions automatis�es
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
D�marrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Non autant pour moi je m'etais tromp� de variable tout fonctionne tres bien ;-)
Merci pour tout
Partager