Unser Label wird normalerweise mit der Standardschriftart des Systems beschriftet, was nicht immer gewünscht ist oder gut aussehen muss. Um eine eigene Schriftart zu benutzen, bedienen wir uns der Funktion "CreateFont":
MyFont := CreateFont(FontSize, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, FontName);
Eine genaue Beschreibung finden Sie in der Hilfe oder im MSDN. Soviel sei gesagt: als Rückgabewert liefert die Funktion ein Handle auf eine logische Schrift. Der erste Parameter gibt die Schrifthöhe an und sollte immer einen negativen Wert haben, und der letzte Parameter definiert den Namen unserer Schrift (eine der vielen installierten Schriftarten kann hier benutzt werden). Der Einfachheit halber habe ich beides auch wieder als Konstanten deklariert.
Nun ist aber nicht nur Windows in der Lage Nachrichten zu senden. Auch wir können Nachrichten verschicken. In diesem Fall müssen wir das sogar tun, wenn wir unserem Label die neu definierte Schriftart zuweisen wollen. Wir benutzen dazu die Nachricht "WM_SETFONT". Unser Ziel erreichen wir dabei mit einer sehr wichtigen Funktion, die wir in vielen nonVCL-Projekten noch brauchen werden:
Die beste Anlaufstelle sollte für Sie hier wieder die Hilfe oder das MSDN sein, denn hier finden Sie die Nachrichten inkl. der Parameter, die benötigt werden.
Um bei unserem Font-Beispiel zu bleiben, unser Aufruf müsste so aussehen:
if MyFont <> 0 then
SendMessage(hwndLabel2, WM_SETFONT, Integer(MyFont), Integer(true));