Je nach Anwendung kann sich die Notwendigkeit ergeben, eine bestimmte Schriftart zu
benutzen, die nicht unbedingt auf dem Rechner des Anwenders installiert ist. Dies kann
insbesondere bei Verwendung von z.B. Sonder- oder Barcodeschriften von Bedeutung sein.
Die API-Funktion AddFontResource() macht es möglich, eine Schriftart im Programm zu
verwenden, ohne diese zuvor unter Windows zu installieren. Benötigt wird nur die
Schriftart-Datei (*.ttf), die in einem beliebigen zugängigen Verzeichnis abgelegt
sein kann (im folgenden Beispiel unmittelbar im Programmverzeichnis):
//---------------------------------
// Beim Programmstart die Schriftart in die Windows-Fontliste einfügen:
AddFontResource(AnsiString(ExtractFilePath(ParamStr(0)) +
"BARCODE.TTF").c_str());
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
// Schriftart verwenden:
Label1->Font->Name = "Barcode Font";
Label1->Font->Size = 14;
Label1->Caption = "123456789";
//---------------------------------
// Beim Programmende die Schriftart aus der Windows-Fontliste entfernen:
RemoveFontResource(AnsiString(ExtractFilePath(ParamStr(0)) +
"BARCODE.TTF").c_str());
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
|