Utilisation de l'API AddFontResource_ / RemoveFontResource_
(API supportées sur Windows 2K et +)
"Fonts" récupérées sur fontesgratis
Code : Tout sélectionner
;Fonctionnement de l'API pour info
;----------------------------------------
int AddFontResource(
__in LPCTSTR lpszFilename
);
- Ensuite, on va faire connaitre à windows ces Fonts en utilisant AddFontResource_
La synthaxe peut être :
Code : Tout sélectionner
AddFontResource_("nom_du_fichier_Font1.ttf")
AddFontResource_("nom_du_fichier_Font2.ttf")
Code : Tout sélectionner
AddFontResource_("nom_du_fichier_Font1.ttf;nom_du_fichier_Font2.ttf")
Code : Tout sélectionner
Font1 = LoadFont(#PB_Any,"neuralnomicon",14)
Font2 = LoadFont(#PB_Any,"Nash",14)
Dans mon exemple, le fichier de la Font1 est bien neural2.ttf mais son vrai nom est neuralnomicon lorsque je double clique dessus.
Nous pouvons maintenant attribuer les Fonts aux gadgets concernés.
Code : Tout sélectionner
SetGadgetFont(#Btn_Quit,fontID(Font1))
SetGadgetFont(#Btn_Test,FontID(Font2))
RemoveFontResource_("neural2.ttf;nash-tuc.ttf") ;
Mise en œuvre concrète :
Code : Tout sélectionner
;Ajouter des Fonts externes by Ar-S / 2010 - PB 4.5x
;Adaptation d'un code de Chris
Enumeration
#Window_0
#Btn_Test
#Btn_Quit
EndEnumeration
AddFontResource_("neural2.ttf;nash-tuc.ttf") ; Utilisation de l'API pour ajouter les font se trouvant dans le répertoire de travail
Font1 = LoadFont(#PB_Any,"neuralnomicon",14)
Font2 = LoadFont(#PB_Any,"Nash",14)
If OpenWindow(#Window_0, 300, 300, 203, 210, "Fenêtre 1",#PB_Window_SystemMenu,0)
ButtonGadget(#Btn_Quit, 1, 1, 200, 100, "Quitter")
ButtonGadget(#Btn_Test, 1, 108, 200, 100, "Test")
; On Attribue les Fonts aux boutons
SetGadgetFont(#Btn_Quit,fontID(Font1))
SetGadgetFont(#Btn_Test,FontID(Font2))
endif
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Btn_Quit
quit = 1
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
quit = 1
EndSelect
EndSelect
until quit=1
RemoveFontResource_("neural2.ttf;nash-tuc.ttf") ; on décharge les Fonts
CloseWindow(#Window_0)
end
Voilou.