Hallo!
Ich habe ein Programm unter Verwendung von MFC (Visual Studio .NET)
in dem ich Text auf die Arbeitsfläche schreiben möchte. Ich habe das mit
pDC->TextOut( x, y, "Hallo");
gemacht. Nun möchte ich aber noch einen Rahmen um diesen Text zeichnen
und zwar mit
pDC->Rectangle( x1, y1, x2, y2);
Das Problem ist nun, dass ich zwar weiß, wie hoch dieser Rahmen sein muss
(da ich ja die Schrifthöhe z.B. 14 kenne). Große Probleme habe ich aber bei der
Schriftbreite. Diese kann man zwar auch bei der Erstellung der Schrift mit
CFont schrift;
schrift.CreateFont( .......) mit angeben aber dabei handelt es sich nur um die
durchschnittliche Breite; Wenn der Text z.B. "mmmmmmmmmmmmm"
oder "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" lautet bringt mir das überhaupt nichts.
Hat jemand eine Idee wie ich die tatsächliche Breite des Textes
herausbekommen kann um so einen vernünftigen Rahmen um den Text zu
bekommen?
Ach ja, ich brauche wirklich die Breite (auch noch für andere Dinge) und nicht
einen Rahmen auf irgendeine andere Weise, es sollte schon mit
pDC->Rectangle(...) sein.
Liebe Grüße
Michael
Ich habe ein Programm unter Verwendung von MFC (Visual Studio .NET)
in dem ich Text auf die Arbeitsfläche schreiben möchte. Ich habe das mit
pDC->TextOut( x, y, "Hallo");
gemacht. Nun möchte ich aber noch einen Rahmen um diesen Text zeichnen
und zwar mit
pDC->Rectangle( x1, y1, x2, y2);
Das Problem ist nun, dass ich zwar weiß, wie hoch dieser Rahmen sein muss
(da ich ja die Schrifthöhe z.B. 14 kenne). Große Probleme habe ich aber bei der
Schriftbreite. Diese kann man zwar auch bei der Erstellung der Schrift mit
CFont schrift;
schrift.CreateFont( .......) mit angeben aber dabei handelt es sich nur um die
durchschnittliche Breite; Wenn der Text z.B. "mmmmmmmmmmmmm"
oder "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" lautet bringt mir das überhaupt nichts.
Hat jemand eine Idee wie ich die tatsächliche Breite des Textes
herausbekommen kann um so einen vernünftigen Rahmen um den Text zu
bekommen?
Ach ja, ich brauche wirklich die Breite (auch noch für andere Dinge) und nicht
einen Rahmen auf irgendeine andere Weise, es sollte schon mit
pDC->Rectangle(...) sein.
Liebe Grüße
Michael