Thema: Delphi Schriftart mitliefern?

Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 17:46
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
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat