Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#11

Re: Schrift aus Ressource nutzen

  Alt 16. Feb 2010, 21:14
Ich glaub die Übersetung von HANDLE nach HFONT war etwas falsch, jedenfalls wenn ich diesem glauben darf:

Zitat:
Calling the API AddFontMemResourceEx() will register/install the
font with the system font table and returns a HANDLE, you need to
use the APIs CreateFont(), CreateFontIndirect() to obtain a handle
to the font.

Du kannst InstalledFonts auch leer lassen, also nil eintragen.
Damit man nicht unbedingt eine Variable braucht, wenn man es eh nicht wissen will/muß, hab ich es nicht als VAR-Parameter ausgelegt.
PS: Hab es oben mal etwas geändert und man kann es jetzt auch ganz weglassen.

Delphi-Quellcode:
H := LoadResFont('MyFont');
if H = 0 then {error};
// ja, und nun muß man anscheinend nur noch einen HFONT auf diese geladene Datei bekommen
Aber CreateFont/CreateFontIndirect nehmen kein Handle entgegen, also wird man wohl über den Namen des Fonst gehen müssen?
Und kann dieses THandle nur noch zum Freigeben/Entladen des Fonts nutzen.

[Add] jupp, der Font muß ganz Normal über seinen Namen angesprochen werden.
Delphi-Quellcode:
FontHandle := LoadResFont(1);
if FontHandle = 0 then {error};
Canvas.Font.Name := 'anywhere';
Canvas.TextOut(10,10,'Foo Bar');
...
UnloadResFont(FontHandle);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat