Bonjour à tous
Un source très utile -trouvé sur le Net- et qui ne passe pas chez moi :
Code :
- // -> http://msdn.microsoft.com/library/ms534231
- // Copie le fichier de police dans le répertoire Fonts de Windows
- CopyFile('Police.ttf', Pchar(RepertoiresSpeciaux(CSIDL_FONTS) + '\Police.ttf'), False);
- // Ajoute la police à la liste des polices de Windows
- AddFontResource(Pchar(RepertoiresSpeciaux(CSIDL_FONTS) + '\Widgets.ttf'));
- // Envoi un message à tous les programmes ouverts pour leur annoncer
- // qu'une police à été ajoutée
- SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
|
Mais voilà... Les variables d'environnement en "CSIDL" ne sont plus valides. GetEnvironmentVariable() et GetKnownFolderPath() . Or, je ne connais pas cette foutue variable d'environnement pour les fontes ! Je ne peux donc pas l'initialiser.
J'ai donc tenté ceci :
Code :
- Rep_Dest := Path_System_Root + '\FONTS'; // C:\Windows\Fonts
- Nom_F_Police := 'MISTRAL.TTF';
- // Copie le fichier de police dans le répertoire Fonts de Windows
- CopyFile( PChar(Nom_F_Police), Pchar(Rep_Dest), False);
- // Ajoute la police à la liste des polices de Windows
- AddFontResource(Pchar(Rep_Dest) + '\' + AnsiChar(Nom_F_Police) ); // Paf ! Transtypage incorrect !
- // Envoi un message à tous les programmes ouverts pour leur annoncer qu'une police à été ajoutée
- SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
|
Comment tyranstyper correctement, dans ce cas-là ?
Merci.
Message édité par HERIBERT le 13-10-2014 à 18:10:44