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);