Salut,
Petite question à la con:
Je développe une application utilisant un type de police non inclu par défaut dans windows.
Comment faire pour inclure directement la police en question dans mon projet pour pouvoir le transporter.
A+
Salut,
Petite question à la con:
Je développe une application utilisant un type de police non inclu par défaut dans windows.
Comment faire pour inclure directement la police en question dans mon projet pour pouvoir le transporter.
A+
Slt,
le plus simple est de la coller dans Windows(Winnt)/fonts lors de l'installation...
Il n'y donc aucun moyen avec Delphi pour que cela se fasse automatiquement ?
Je crois avoir lu quelque part mais c'est à vérifier que tue peux mettre directement une police de caractère dans le même répertoire que ton exe, et seuls les exe de ce répretoire y ont acces. ( je ne l'ai jamais essayé). Si ça marche mer ci de me le dire
Mets ta police en ressource !
J'ai trouvé ca :
Tu mets tes fichiers polices avec ton application et dans OnCreate tu mets :
Code:
procedure TForm1.FormCreate(Sender: TObject);
var haFont : HFONT;
WinTempDir : PChar;
begin
GetMem(WinTempDir,255);
GetTempPath(255,WinTempDir);
GetTempFileName(WinTempDir,'Xdf',3,FileNameTemp);
CreateScalableFontResource(0,FileNameTemp,'lhandw.ttf',nil);
AddFontResource(FileNameTemp);//Lucida Handwriting
haFont:=CreateFont (18,7,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH or FF_ROMAN,
'Lucida Handwriting');
Label1.Font.Handle:=haFont;
Label4.Font.Handle:=haFont;
Label5.Font.Handle:=haFont;
haFont:=CreateFont (46,20,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH or FF_ROMAN,
'Lucida Handwriting');
RxLabel1.Font.Handle:=haFont;
RxLabel2.Font.Handle:=haFont;
end;
Puis dans le OnClose
Code:
RemoveFontResource(FileNameTemp);
DeleteFile(FileNameTemp);
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
Avec
Code:
FileNameTemp : Array[0..1024] of Char;
Comme variale global.
Ici j'utilise du Lucida Handwriting du fichier 'lhandw.ttf' dans des TRxLabel (idem TLabel).
Mais, sauf si c'est pour un programme qui est par exemple sur un CD, il est préférable d'installer les polices avec ton application.
Le moyen le plus facile c'est d'installer la police ....
Ou bien si c que pour des labels de creer des images avzec ton texte et non pas des labels ... (enfin c bourrin mais dans certains cas ca marche).
Une autre solution vers laquelle je me tournerais si gt a ta place : Creation de dlls de ressources ....
Je sais qu'on peux ainsi inclure dans une dll des images, icones, etc .... alors pkoi pas une police ?
JE dis ca comme je dis rien .... disons que je chercherais aussi de ce coté.
@+
ERic.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager