Schriftart ändern?



  • Hi
    Nochmal was zu WM_PAINT

    Mein code bis jetzt: ➡

    //Text formatieren
                SetTextColor(hDC, RGB(200, 200, 200)); //Textcolor
                SetBkColor  (hDC, RGB(  0,   0,   0)); //Backgroundcolor
                SetTextCharacterExtra(hDC, 1); //Abstand zwischen den Zeichen
                static HFONT hFont;
                hFont  = CreateFont(15, 0, 0, 0, 0, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE | DEFAULT_PITCH, TEXT("Courier New"));
    

    Wie kann ich jetzt, ähnlich wie bei SetTextColor usw., die schriftart ändern??
    Hab schon in der MSDN gesucht, aber nichts gefunden.

    ps.:
    Hab auch schon
    SendMessage(NULL, WM_SETFONT, (WPARAM)hFont, 0);
    und
    SendMessage(hWnd, WM_SETFONT, (WPARAM)hFont, 0);
    ausprobiert, geht aber nicht



  • Du musst die Schrift direkt in den DC selektieren, wenn du kein Fenster hast. Aber nicht vergessen die alte Schrift wieder zu selektieren und die eingesetzte wieder freigeben.



  • Häe??

    Ich hab nen Fenster, auf dem ich wild irgendwelche Texte schreiben möchte.
    Und dieser Text soll halt in "courier New" geschrieben werden.

    Du musst die Schrift direkt in den DC selektieren,

    Wie mach ich das??
    Hab noch nicht so viel erfahrung mit Fenstern. (bzw DC)



  • Mit SelectObject().

    altesFont=SelectObject(dc,neuesFont);
    // ...irgendwas schreiben
    SelectObject(dc,altesFont);
    DeleteObject(neuesFont);
    


  • Jo, funktioniert...

    .:DANKE:.


Anmelden zum Antworten