aktuellen FONT auslesen
-
Hallo
Ich suche ne Funktion die mir den aktuell eingestellten FONT liefert.
Eig müsste es doch ne Funktion wieFONT getCurrentFont(HDC hdc)geben aber ich finde keine.
Gruß Jan
-
Zu jedem DC ein Fenster, soll heißen
HFONT f = reinterpret_cast<HFONT>(SendMessage(/*HANDlE*/, WM_GETFONT, 0, 0));Um Details über den eingewählten Font zu bekommen, bietet sich GetObject an.
-
Danke für die schnelle Antwort
Die Funktion gibt mir NULL zurück was heißt das der SystemFont benutzt wird.
Damit zur nächsten Frage. Wie bekomm ich den SystemFont?
-
jan91 schrieb:
Danke für die schnelle Antwort
Die Funktion gibt mir NULL zurück was heißt das der SystemFont benutzt wird.
Damit zur nächsten Frage. Wie bekomm ich den SystemFont?Das kannst Du daraus nicht schließen. Was für ein Control ist es denn?
Wenn es ein Custom-Control ist, oder ein ActiveX dann reagiert es evtl. einfach nicht auf die Nachricht (gibt NULL) und benutzt einen intern bestimmten Font.
D.h. meistens auch, das WM_SETFONT genauso ignoriert wird.Ansonsten siehe GetStockObject...
-
Wenn ich mir den ersten Beitrag so ansehe, dann sehe ich, dass der Font aus einem DC ermittelt werden soll. Also eher ungefähr so:
HFONT getCurrentFont(HDC hdc) { return (HFONT)GetCurrentObject(hdc, OBF_FONT); }