Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2898 connectés 

  FORUM HardWare.fr
  Programmation
  API Win32

  [API WIN32] Problème avec les polices [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[API WIN32] Problème avec les polices [RESOLU]

n°1794373
sanglierqu​ipue
Posté le 01-10-2008 à 13:12:04  profilanswer
 

Bonjour,
 
Je suis entrain de programmer une application sous win 32 en natif. Mon problème est le suivant :
 
J'ai une fenêtre principale dans laquelle il y a des boutons et autre mais la police utilisée par défaut est bien plus grosse que la police utilisée dans les autres applications. En fait j'ai l'impression que mes boutons ont la même police que le champ "Texte de la fenêtre" dans  Propriétés d'affichage de Windows.  
 
merci pour vos réponses !


Message édité par sanglierquipue le 02-10-2008 à 10:42:12
mood
Publicité
Posté le 01-10-2008 à 13:12:04  profilanswer
 

n°1794464
tpierron
Posté le 01-10-2008 à 15:46:27  profilanswer
 

En général pour récupérer la police kivabien (nom, taille, attributs, ...) pour les applications GUI tu utilises :
 

Code :
  1. HFONT font = (HFONT) GetStockObject(DEFAULT_GUI_FONT);


n°1794503
sanglierqu​ipue
Posté le 01-10-2008 à 16:57:19  profilanswer
 

Merci, j'ai donc essayé ceci :
 
 

Code :
  1. HFONT font=(HFONT)GetStockObject(DEFAULT_GUI_FONT);
  2.   SelectObject(GetDC(hWndPrincipale), font);


 
juste avant le  
 

Code :
  1. ShowWindow(hWndPrincipale, modeDAffichage);
  2. UpdateWindow(hWndPrincipale);


 
mais cela n'a rien changé.
 
Voici un aperçu avec à droite ma fenêtre et à gauche une fenêtre "normale"
 
http://www.zimagez.com/zimage/aa82.php


Message édité par sanglierquipue le 01-10-2008 à 16:59:09
n°1794581
tpierron
Posté le 01-10-2008 à 19:50:07  profilanswer
 

Hmm, je ne crois pas que c'est comme ça que tu changes la police des contrôles de ton application.
 
Quand je regarde mon code, je fait ça pour chaque contrôle créé :

Code :
  1. SendMessage(hwnd, WM_SETFONT, (WPARAM) font, FALSE);


Où :

  • hwnd : handle du contrôle ou du dialogue
  • font : le truc retourné par GetStockObject.


GetDC te retourne effectivement un device context, mais c'est pour y dessiner dedans (et tu dois le libérer).
 
Note : je ne suis pas sûr si c'est nécessaire de faire pour tous les contrôles, mais j'ai la flemme de faire qqs tests.

n°1794722
sanglierqu​ipue
Posté le 02-10-2008 à 10:41:45  profilanswer
 

Ok merci beaucoup ça fonctionne  :) , avec l'ajout de  
 

Code :
  1. EnumChildWindows(hWndPrincipale, EnumWindowsProc, FALSE);

pour parcourir toutes les widgets
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  API Win32

  [API WIN32] Problème avec les polices [RESOLU]

 

Sujets relatifs
[Java] border d'un JPanel : problème d'affichage[Résolu] - [Batch Dos] créer un tache planifiée J+3
[résolu] [php] Générer une miniature à partir d'une image ?connexion distante à une bdd [résolu]
[Résolu] Manipulation de dates par FILETIME et SYSTEMTIMEprobleme verification formulaire
[C] Probleme avec un PipeArray crée a partir d'une bdd (probléme)...
[Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory 
Plus de sujets relatifs à : [API WIN32] Problème avec les polices [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR