Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Font aus Resource direkt via Stream benutzen? (https://www.delphipraxis.net/119025-font-aus-resource-direkt-via-stream-benutzen.html)

Z4ppy 19. Aug 2008 21:26


Font aus Resource direkt via Stream benutzen?
 
Ich such nach ner Möglichkeit, nen Font aus ner Resource direkt (ohne Dropping) zu benutzen. Wie ist das möglich?
Ich habs bisher immer so gemacht:
Delphi-Quellcode:
randomize;
rand:=inttostr(Random(8999)+1000);
while FileExists('FONT'+rand+'.ttf') do rand:=inttostr(Random(89999)+1000);
Res:=TResourceStream.Create(hInstance, 'font', PChar('FONT'));
Res.SaveToFile('FONT'+rand+'.ttf');
FreeAndNil(Res);
AddFontResource(PChar('FONT'+rand+'.ttf'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
Label1.Font.Name:='FONT';
Aber das muss doch auch ohne Droppen gehen, oder?

MfG Z4ppy

PS: Das mit dem rand hab ich zur Sicherheit gemacht, weil es ja sein könnte, dass die Datei FONT.ttf existiert und dann n Fehler ausgelöst wird...

Luckie 19. Aug 2008 22:00

Re: Font aus Resource direkt via Stream benutzen?
 
Zitat:

Zitat von Z4ppy
PS: Das mit dem rand hab ich zur Sicherheit gemacht, weil es ja sein könnte, dass die Datei FONT.ttf existiert und dann n Fehler ausgelöst wird...

Du wirst doch wohl wissen, was für Schriften du in deinen Ressourcen hast?

Mi ist kein Weg bekannt, eine Schrift direkt aus einem Stream zu laden. Warum brauchst du das denn?

sx2008 19. Aug 2008 23:52

Re: Font aus Resource direkt via Stream benutzen?
 
Schau dir mal MSDN-Library durchsuchenAddFontMemResourceEx an.

PS: und wenn's klappt, dann schreib' doch ein Artikel für die Code-Library.

Z4ppy 20. Aug 2008 15:44

Re: Font aus Resource direkt via Stream benutzen?
 
@Luckie:
1. Ich finds einfach blöd, die Dateien immer zu droppen
2. Manche Antiviren-Proggies erkennen das als Trojaner ;)

@sx2008:
THX, schau ich mir gleich mal an ;)

MfG Z4ppy


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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