Si vous souhaitez utiliser une police, la police doit être installée. Mais vous pouvez faire semblant, en utilisant AddFontResource
.
procedure TForm1.FormCreate(Sender: TObject) ;
begin
AddFontResource('c:\FONTS\MyFont.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
//Before application terminates we must remove our font:
procedure TForm1.FormDestroy(Sender: TObject) ;
begin
RemoveFontResource('C:\FONTS\MyFont.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
Comme vous voyez le AddFontResource a besoin d'un nom de fichier. La même chose signifie AddFontResourceEx.
Vous avez donc besoin d'un fichier de police. Mais on peut aussi faire semblant.
Utilisez JVCL's TjvDataEmbedded
pour inclure votre fichier TTF dans votre fichier. Pour intégrer le fichier de police est simple. (Clic droit, 'Charger à partir du fichier' ...). Lors de l'exécution, extrayez votre fichier dans le répertoire temporaire de l'utilisateur (voir Méthodes TjvDataEmbedded - Je ne sais pas maintenant, mais cela devrait ressembler à SaveToFile ou similaire). Btw vous pouvez l'extraire dans n'importe quel autre répertoire que vous aimez. Appelez le AddFontResource
à ce sujet.
En outre, selon vos besoins, vous pouvez extraire le fichier dans une mémoire mappée et/ou dans un lecteur RAM.
HTH
Juste ce que je cherchais, merci! –
pourriez-vous me montrer un exemple? – sma6871