Mit einer Schleife.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
Res : TResourceStream;
f : Cardinal;
begin
for f := 1 to 4 do
begin
Res := TResourceStream.Create(hInstance, 'ResFont' + IntToStr(f), PChar('RF' + IntToStr(f)));
Res.SaveToFile('TmpFont' + IntToStr(f)' + .ttf');
FreeAndNil(Res);
AddFontResource(PChar('TmpFont' + IntToStr(f) + '.ttf'));
end;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
Zitat:
ResFont1 RF1 "font1.ttf"
ResFont2 RF2 "font2.ttf"
ResFont3 RF3 "font3.ttf"
ResFont4 RF4 "font4.ttf"
So sollte die Ressourcen-Datei aussehen. Nur "fontname" sollte angepasst werden, damit es funktioniert. Ein Tipp:
Es reicht, diese Datei (mit der Endung .rc) zum Projekt hinzuzufügen, das Kompilieren übernimmt Delphi automatisch! Dann wird auch die Zeile "{$R MyFont.res} //das einfügen"
nicht benötigt.
Beim Beenden:
Delphi-Quellcode:
for f := 1 to 4 do
begin
RemoveFontResource(PChar('TmpFont' + IntToStr(f) + '.ttf'));
end;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
Gruß,
ManuMF