Schriftgröße von Static-Feld ändern?
-
Hallo zusammen,
ich möchte gerne in großer Schrift einen Int-Wert in einem Dialogfeld anzeigen. Wie mache ich das?
Mein erster Ansatz: Ich füge in einem Dialogfeld über die Steuerelementeleiste einen Text hinzu und ändere anschließend dessen Eigenschaften (rechter Mausklick). Leider musste ich feststellen, dass man den Text zwar schön zentrieren oder transparent machen kann - die Schriftgröße kann man aber nicht verändern. (Es ist mir ein Rätsel, wieso nicht.)
Mein zweiter Ansatz, mit Hilfe von Google: Ich muss ein CStatic-Element erzeugen und über eine CFont-Variable die Schrift zuweisen. Folgend Code (CStatic bereits als Membervariable m_Static_RPMENG deklariert und initialisiert):
CFont * m_Font = new CFont; CString TempStr; // Motordrehzahl in String konvertieren TempStr.Format("%d",m_RPMENG); m_Font->CreatePointFont(200, "Arial"); // Motordrehzahl anzeigen m_Static_RPMENG.Create(TempStr,SS_RIGHT|WS_BORDER|WS_VISIBLE,CRect(10,10,100,80), this, 0x188); m_Static_RPMENG.SetFont(m_Font);Das funktioniert soweit auch. Nur leider ändert sich mein Int während der Laufzeit. Der Klasse CStatic kann ich aber nur beim Erzeugen (.Create()) einen String zuweisen. Eine Funktion wie .SetText() gibt es nicht. Demnach müsste ich ja bei jedem Update des Werts die Funktion .Create() ausführen, was nach meinem Verständnis sehr unsauber ist.
Was kann ich nun tun? Gibt es einen "dritten Ansatz" und falls ja, wie sieht der aus? Warum ist das eigentlich so kompliziert, ich will doch nur die Schrift eines Textes (IDC_STATIC_xxx) etwas vergrößern

Grüße
Steffen
-
Ich würde es in diesem Falle mal mit SetWindowText probieren!
-
Ja super, so funktioniert's! Ich habe die Funktion übersehen. Vielen Dank!!