C++ Builder Snippets  

TrueType-Schriftarten im Programm ohne Installation nutzen:
 
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);





© '99-2001 by S. Kreutzmann