![]() |
AddFontResource
hallo zusammen...
ich hoff mal mein beitrag is hier im richtigen themen bereich gelandet ^^ über den befehl AddFontResource füge ich mir eine schriftart im windows system temporär hinzu
Delphi-Quellcode:
beim schließen des programmes wird die schriftart über RemoveFontResource wieder entfernt
giFontInst := AddFontResource(PChar(sFontFile));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
Delphi-Quellcode:
wo fügt windows die font denn genau hinzu? im verzeichnis "C:\Windows\Fonts\" sehe ich sie definitiv nicht!
RemoveFontResource(PChar(sFontFile));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); und auf der homepage von msdn steht nur Zitat:
auf meinem notebook auf dem ich admin rechte habe funktioniert aber alles :-/ |
AW: AddFontResource
Es wird keinen Pfad dafür geben. Die Schrift wird einfach nur (je nach Parameter) für die entsprechenden Prozesse registriert.
Oder kannst du die Schriftarten-Datei löschen nachdem du diese mit AddFontRessource hinzugefügt hast und die Schrift bleibt weiter verfügbar? |
AW: AddFontResource
Für deinen Anwendungsfall wäre die
![]() Die "normale" wird Adminrechte benötigen damit der Font Systemweit registriert werden kann. |
AW: AddFontResource
Zitat:
Zitat:
habt ihr noch ideen wie ich mein rechte problem umgehen kann? |
AW: AddFontResource
Zitat:
aber es wäre dennoch nicht schlecht, wenn man das Result wenigstens mal auswerten würde. Zitat:
|
AW: AddFontResource
@himitsu
das hilft mir jetzt aber auch net wirklich weiter ;-) |
AW: AddFontResource
Bei FR_NOT_ENUM wird der Font auch nirgendwo aufgelistet ... genau das bedeutet ja diese Optionen. :wink:
Hier kann man nur direkt den Fontnamen angeben, ohne ihn aus einer "enumerierten" Liste auszuwählen. Was sagt nun Result? 0? Kann die Datei gefunden werden? Nutzt du relative oder absolute Pfade? ... |
AW: AddFontResource
die datei wird gefunden, ansonsten käme er in meinem programm nicht zu der stelle wo ich den addfontresourceex ausführe... hier mal mein code:
Delphi-Quellcode:
wenn ich grad nicht total auf dem schlauch stehe verwende ich absolute dateipfade...
sFontFile := ExtractFilePath(Application.ExeName) + 'MyFont.ttf';
If FileExists(sFontFile) = True Then Begin giFontInst := AddFontResourceEx(PChar(sFontFile), FR_PRIVATE, 0); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); End; gifontinst ist nach AddFontResourceEx gleich 1 d.h. ja laut msdn das er die font hinzugefügt hat... |
AW: AddFontResource
OK, abgesehn von dem
Delphi-Quellcode:
, welches man nicht machen sollte ...
= true
Delphi-Quellcode:
und wenn nicht, dann mit
If FileExists(sFontFile) Then
Delphi-Quellcode:
.
If not ...
Kannst du diesen über ![]() |
AW: AddFontResource
Auch wenn das wohl das Problem nicht löst würde ich den Code ein wenig umformulieren.
Delphi-Quellcode:
sFontFile := ExtractFilePath(Application.ExeName) + 'MyFont.ttf';
If FileExists(sFontFile){ = True *tztz*} Then Begin giFontInst := AddFontResourceEx(PChar(sFontFile), FR_PRIVATE, 0); if giFontInst > 0 then //Ist das eigentlich bei "privaten" Fonts notwendig? SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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