CEdit, CFont - Schriftart bleibt nicht erhalten! (CreateFont, SetFont)



  • Tach!

    Ich möchte einem CEdit eine Nicht-True-Type-Schriftart zuweisen und habe dies folgendermaßen probiert:

    CFont fontLog;
    fontLog.CreatePointFont(8,"Courier");
    m_EditLog.SetFont(&fontLog);
    

    Während der Textausgabe (SetWindowText) funktioniert das auch. Beim Neuzeichnen des Controls wird allerdings wieder die Standard-Schriftart verwendet. Wenn ich also das Fenster (und somit das Control) halb aus dem sichtbaren Desktop-Bereich schiebe, ist der aktualisierte Bereich in der alten Schriftart, der nicht aktualisierte Bereich in der von mir gewählten Schriftart.

    Wie kann das sein? Weise ich dem CEdit denn nicht fest diese Schriftart zu? Was muss ich tun, damit dauerhaft meine Wunsch-Schriftart verwendet wird?

    Das CFont-Objekt muss doch nach der Zuweisung nicht weiter existieren, oder?

    Ach ja, die Schriftgröße hätte ich gerne auf 8 eingestellt, es wird aber trotz meiner Angabe die Größe 10 verwendet.

    Gruß Matze



  • Du darfst Dein CFont Objekt nicht lokal anlegen, sonst wird er gleich wieder zerstört. Leg es z.B. als Dialogmember an.



  • Hast recht, ich bin gerade auch selbst draufgekommen. Und das Schriftgrößen-Problem hat sich insofern erledigt, als dass ich jetzt "Courier New" nehme, die lässt sich nämlich beliebig in der Größe verändern. Bei "Courier" klappt das leider nicht, obwohl Word es kann...


Log in to reply