![]() |
Delphi-Version: 5
Problem mit AddFontResource
Heyho,
in einer meiner Anwendungen verwende ich die Schriftart 'Segoe UI Semibold', die unter Windows Vista & 7 ja vorinstalliert ist. Um das gleiche Design auch unter XP zu haben (wo die Schriftart nicht installiert ist), möchte ich die Schriftart als Resource einbinden. Folgende Prozedur soll sie dann installieren:
Delphi-Quellcode:
Die Schriftart wird anscheinend vernünftig aus der Resource geladen, zumindest gibt AddFontMemResourceEx nen gültiges Handle zurück. Das Problem: Unter XP passiert nach Aufruf dieser Prozedur trotzdem nichts, Labels, Buttons etc haben weiterhin Arial als Schriftart (nimmt er standardmäßig als Ersatz denke ich). Wenn ich auf meinem Windows 7 - Rechner die Prozedur ausführe und vorher die Schriftart vom System entferne, hat er für die ersten ~2 Sekunden die fette Variante aus der Segoe Familie und switcht dann zur richtigen, scheint also zu funktionieren.
{ Die rc-Datei: }
Segoe RT_FONT "seguisb.ttf" { aus der main-unit: } type TFontResBuffer = record Buffer: PChar; Fraktur: THandle; Size: Integer; end; { ... } var FontRes: TFontResBuffer; { ... } procedure TProject.AddFontFromRes (const ResName: PChar; var Buffer: TFontResBuffer); var Res : TResourceStream; ResFontCount: DWord; begin Res := TResourceStream.Create(hInstance, ResName, 'RT_FONT'); try Buffer.Size := Res.Size + 1; Buffer.Buffer := AllocMem(Buffer.Size); Res.Read(Buffer.Buffer^, Buffer.Size); finally Res.Free; end; ResFontCount := 1; Buffer.Fraktur := AddFontMemResourceEx(Buffer.Buffer, Buffer.Size, nil, @ResFontCount); SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0); end; { Aufruf: } Project.AddFontFromRes(PChar('Segoe'),FontRes); Irgendjemand ne Idee was da falsch laufen könnte ? |
AW: Problem mit AddFontResource
Zitat:
|
AW: Problem mit AddFontResource
Das wusste ich nicht, danke für den Hinweis. Werde ich mir wohl ne freie Schriftart suchen und die verwenden ... Denke allerdings nicht das damit das beschriebene Problem gelöst ist, jemand da noch ne Ahnung ?
|
AW: Problem mit AddFontResource
Verwendest Du den Font dann auch irgendwo ....
![]() |
AW: Problem mit AddFontResource
Danke sehr, funktioniert einwandfrei !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 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 by Thomas Breitkreuz