Bonjour,
je souhaite créer un label (Cstatic) dont la taille de la police diminue si le texte ne tient pas dans le rectangle d'affichage.
Donc j'ai dérivé un CStatic dont j'ai surchargé la fonction d'affichage OnPaint() comme ceci :
Ce code fonctionne bien par contre j'aimerais reaugmenter la taille au fur et a mesure que le texte diminue.
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 LOGFONT lf; GetLogFont(lf); // Get Current font properties ::GetTextExtentPoint32(pDCMem->GetSafeHdc(), csText, csText.GetLength(), &sz); if ( sz.cx > pRect->Width() ){ lf.lfHeight -= 1; // diminue font size SetFont( &lf ); } else{ } pDCMem->DrawText(csText, pRect, dwFlags);
J'ai essayé de remplir le else comme ca :
else{
if (lf.lfHeight < nTailleInitial)
lf.lfHeight += 1; // augmente font size
SetFont( &lf );
}
mais j'obtiens une espece d'oscillation d'affichage.
Partager