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
Rejoignez-nous