Länge eines Textes in Pixel rausfinden in abhängigkeit von CFont?
-
habe Folgenden Code:
// Schrift für Skala Bezeichung
CFont l_new_font, *l_old_font;l_new_font.CreateFont(30, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, "Times New Roman"); // Schrift zuweisen l_old_font = oDC.SelectObject(&l_new_font); // Texte Zeichnen ///////////////////////////////////// oDC.TextOut(5, iR+(iUnitY*i)+1, "Hallo" // Alte Schrift wieder zurückholen oDC.SelectObject(l_old_font); // Schrift löschen l_new_font.DeleteObject();Wie kann ich nun die Länge der Pixel des TExtes "HAllo" in abhängigkeit mit der Schrift Größe etc. von CFont ermitteln??
-
GetTextExtent oder so ähnlich
-
afaik kannst du TextOut mit einem Flag aufrufen, so dass der Text nicht gezeichnet wird, aber der benötigte Platz wird als Rechteck zurückgegeben.
Kuck mal in der Hilfe.
--Edit--
Oder DrawText ?? Eins von beiden jedenfalls!
-
Vielleicht kannst du auch was mit den Funktionen hier anfangen ... die hab ich mal irgendwann benutzt.
GetTextMetrics(...)
GetTextExtent(...)