Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schriftart im Programm funktioniert nicht unter Vista (https://www.delphipraxis.net/117362-schriftart-im-programm-funktioniert-nicht-unter-vista.html)

Michi123 16. Jul 2008 17:20


Schriftart im Programm funktioniert nicht unter Vista
 
Hallo,
hab das Problem, dass ich eine Schriftart in mein Porgramm als Resource eingebunden habe und unter Vista wird diese dann nicht verwendet. Unter XP jedoch funktioniert alles einwandfrei. Auch wenn ich das Porgramm unter Vista als Administrator ausführe ändert sich daran nichts.
Gibt es denn eine Möglichkeit besagtes Problem zu lösen, ohne extra die Schriftdatei aus der Resource in den Programmordner abzuspeichern und dann von dort aus zu laden?

Schoma vielen Dank für die Antworten.

Delphi-Quellcode:
implementation

{$R *.dfm}
{$R Beispiel.res}

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Res : TResourceStream;
  ResFontCount: DWord;
begin
  Res := TResourceStream.Create(hInstance, 'Beispiel', 'RT_FONT');
  try
    ResSize := Res.Size + 1;
    FontBuffer := AllocMem(ResSize);
    Res.Read(FontBuffer^, ResSize);
  finally
    Res.Free;
  end;

  ResFontCount := 1;
  hFontFraktur := AddFontMemResourceEx(FontBuffer, ResSize, nil, @ResFontCount);
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
  MTest.Font.Name := 'BeispielSchriftName';
  MTest.Font.Size := 42;
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  FreeMem(FontBuffer, ResSize);
  RemoveFontMemResourceEx(hFontFraktur);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz