Utilistion de l'objet "listbox" dans l'API win32

Résolu
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
- 23 janv. 2006 à 15:06
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
- 23 janv. 2006 à 17:40
Bonjour

Pour ma petite application j'ai besoin de creer une "listbox" pour afficher une liste de fichiers.
Je voudrais pouvoir modifier la police (font) d'affichage du texte dans la "listebox" mais je n'y arrive pas.
J'ai essayer ce code :

hlistBox = CreateWindow("listbox",...);
hDC = GetDC(hlistBox);
font = CreateFont( -MulDiv(12,GetDeviceCaps(hDC,LOGPIXELSY),72) ,
0 ,
0 , 0 ,
FW_NORMAL ,
FALSE , FALSE , FALSE ,
DEFAULT_CHARSET ,
OUT_DEFAULT_PRECIS ,
CLIP_DEFAULT_PRECIS ,
ANTIALIASED_QUALITY ,
FF_ROMAN ,
"Times New Roman" );
SelectObject(hDC,font);

Mais ce code ne marche pas
Quelqu'un peut m'aider svp?
Merci d'avance.

6 réponses

cs_aardman
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
23 janv. 2006 à 16:12
Salut,

Envoies le message WM_SETFONT a ta listbox.
3
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

23 janv. 2006 à 16:17
Effectivement ca marche ...
Je n'y avait meme pas pensé
Merci beaucoup
0
PLUiK
Messages postés
46
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
25 août 2006

23 janv. 2006 à 16:21
Salut

Si ce que tu veux c'est changer la police de la List Box, essaie d'envoyer le message WM_SETFONT à la fenêtre (eh oui si c'est juste pour changer la police pas besoin de récupérer le DC de la fenêtre etc. ;)):



hlistBox = CreateWindow ("listbox",...);

//Création de la police (font)

SendMessage (hlistBox, WM_SETFONT, (WPARAM) font, 0); //Tu mets ça juste après la création de la police et de la fenêtre



Seulement je ne sais pas du tout s'il faut faire appel à DeleteObject (font) après avoir envoyer le message WM_SETFONT (je pense qu'il faut que tu le fasse quand le controle est détruit).
0
PLUiK
Messages postés
46
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
25 août 2006

23 janv. 2006 à 16:22
Désolé j'ai répondu un peu en retard :p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

23 janv. 2006 à 17:38
C'est pas grave
Par contre tu as soulevé un point intéressent concernant la liberation de la ressource associée a la font
J'ai fait des tests et il apparait que la font doit avoir la meme durée de vie que l
0
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

23 janv. 2006 à 17:40
oops petit bug ...

je voulais dire :
J'ai fait des tests et il apparait que la font doit avoir la meme durée de vie que la "listbox"

voila, a vos programmes ...
0