Utilistion de l'objet "listbox" dans l'API win32 [Résolu]

spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention - 23 janv. 2006 à 15:06 - Dernière réponse : spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention
- 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.
Afficher la suite 

6 réponses

Répondre au sujet
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 23 janv. 2006 à 16:12
+3
Utile
Salut,

Envoies le message WM_SETFONT a ta listbox.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_aardman
spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention - 23 janv. 2006 à 16:17
0
Utile
Effectivement ca marche ...
Je n'y avait meme pas pensé
Merci beaucoup
Commenter la réponse de spiky31
PLUiK 46 Messages postés mercredi 8 septembre 2004Date d'inscription 25 août 2006 Dernière intervention - 23 janv. 2006 à 16:21
0
Utile
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).
Commenter la réponse de PLUiK
PLUiK 46 Messages postés mercredi 8 septembre 2004Date d'inscription 25 août 2006 Dernière intervention - 23 janv. 2006 à 16:22
0
Utile
Désolé j'ai répondu un peu en retard :p
Commenter la réponse de PLUiK
spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention - 23 janv. 2006 à 17:38
0
Utile
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
Commenter la réponse de spiky31
spiky31 106 Messages postés mardi 11 novembre 2003Date d'inscription 11 février 2008 Dernière intervention - 23 janv. 2006 à 17:40
0
Utile
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 ...
Commenter la réponse de spiky31

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.