Default-Schrift für GUI-Elemente setzen?



  • Hallöchen,

    gerade dachte ich, im FAQ meine Antwort auf eine Frage gefunden zu haben, leider nicht ganz vollständig. Es geht darum, dass Controles (BUTTONS und solche Sachen) die Standard-Schriftart verwenden sollen, wie sie der User in Windows eingestellt hat. (Ohne Font-Änderung ist die Schrift fett und größer).
    Dann hab ich im FAQ dazu einen Beitrag gefunden der folgenden Code beifügt:

    SendMessage(
        hwnd,               // fensterhandle von dem ctrl das du ändern willst
        WM_SETFONT,
        (WPARAM)GetStockObject(DEFAULT_GUI_FONT),
        0);
    

    Alles schön und gut, klappt damit ja soweit, nur dass immer nur ein Objekt damit geändert wird. Ich hab mir aber eine Fensterklasse geschrieben welche beim Erstellen des Objekts ein Button dort erstellt und dann hat dieser Button wieder die normale (nicht standard-GUI) Schrift. Gibt es eine Möglichkeit, diese Schrift als Default für jedes folgende Fenster (und somit Control-Element) zu setzen oder muss ich wirklich an jedes neue Control-Element wieder neu diese Message senden?
    (Alternativ könnte man ja im Konstruktor direkt diese Message senden, die Frage ist ob das überhaupt nötig ist, wenn man denn auch die Defaultschrift ändern könnte. Ist eben nur eine Ausweichlösung mit der Message und nicht optimal, für jedes Fenster diese Message einzeln zu senden wenn es auch anders gehen solle)...

    mfg.

    Ynnus



  • mach doch das sofort nach CreateWindowEx. es muss für jeden control einzelnd gemacht werden. aber da du das ja in einer klasse hast, ist das ja überhaupt kein aufwand. 😉


Anmelden zum Antworten