![]() |
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