PureBasic

Forums PureBasic
Nous sommes le Mar 21/Mai/2013 14:44

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: [tuto] Utiliser des polices de caractères externes [PB 4.5x]
MessagePosté: Ven 17/Sep/2010 10:05 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 5214
Voilà comment utiliser des Fonts (polices de caractères) qui ne sont pas installées dans windows.
Utilisation de l'API AddFontResource_ / RemoveFontResource_

(API supportées sur Windows 2K et +)

"Fonts" récupérées sur fontesgratis

Code:
;Fonctionnement de l'API pour info
;----------------------------------------
int AddFontResource(
  __in  LPCTSTR lpszFilename
);


- Tout d'abord, placez vos Fonts dans le répertoire de votre programme.
- Ensuite, on va faire connaitre à windows ces Fonts en utilisant AddFontResource_
La synthaxe peut être :
Code:
AddFontResource_("nom_du_fichier_Font1.ttf") 
AddFontResource_("nom_du_fichier_Font2.ttf")

ou plus simplement pour signaler plusieurs Fonts
Code:
AddFontResource_("nom_du_fichier_Font1.ttf;nom_du_fichier_Font2.ttf")


Une fois fait, il faut charger ces fonts dans PB de façon classique.
Code:
Font1 = LoadFont(#PB_Any,"neuralnomicon",14)
Font2 = LoadFont(#PB_Any,"Nash",14)


J'attire votre attention sur le fait de bien noter le nom de la font tel qu'il apparait lorsque vous double cliquez sur celui-ci dans windows.

Dans mon exemple, le fichier de la Font1 est bien neural2.ttf mais son vrai nom est neuralnomicon lorsque je double clique dessus.
Image

Nous pouvons maintenant attribuer les Fonts aux gadgets concernés.
Code:
SetGadgetFont(#Btn_Quit,fontID(Font1))
SetGadgetFont(#Btn_Test,FontID(Font2))


Enfin avant de quitter on va décharger les tables de fonts de windows avec RemoveFontResource_
RemoveFontResource_("neural2.ttf;nash-tuc.ttf") ;

Mise en œuvre concrète :

Code:
;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.

_________________
.: Ar-S :. - Windows 8 x64 - Radeon HD 7870 - PB 5.11
LDV MULTIMEDIA : Assistance informatique Isère (38) Oyeu
PURE BASIC forum non officiel : Forum PB


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye