ListView: hauteur des lignes

Le
Sylvain SF
La question est présente mille fois sur le net, mais pas
la réponse; peut-être parce qu'il n'y en a pas de positive.

peux-t'on modifier la hauteur des lignes d'un contrôle ListView
en mode LVS_REPORT ?

(le contrôle en question est partiellement dessiné à la main
par traitement de NM_CUSTOMDRAW mais il n'a pas le style
LVS_OWNERDRAWFIXED).

Sylvain.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #18932761
Sylvain SF wrote:

La question est présente mille fois sur le net, mais pas
la réponse; peut-être parce qu'il n'y en a pas de positive.

peux-t'on modifier la hauteur des lignes d'un contrôle ListView
en mode LVS_REPORT ?

(le contrôle en question est partiellement dessiné à la main
par traitement de NM_CUSTOMDRAW mais il n'a pas le style
LVS_OWNERDRAWFIXED).



Par exemple en changeant les dimensions de l'ImageList (LVSIL_SMALL)
Christian ASTOR
Le #18939641
Sylvain SF wrote:

Christian ASTOR a écrit :
Par exemple en changeant les dimensions de l'ImageList (LVSIL_SMALL)





j'ai essayé d'associer une HIMAGELIST créée avec une taille (100,30)
et initialisée depuis une bitmap ressource de nx100 x 30 px.
l'imageList est correcte (nb d'items contenu conforme, ImgDraw
dans un HDC de test correct), mais cela n'a pas redimensionné
les hauteurs des lignes du listView.



En faisant passer de 16 à 48 par exemple, ça me donne, sous XP
de
http://nsa06.casimages.com/img/2009/03/20/09032001425419053.jpg
à
http://nsa06.casimages.com/img/2009/03/20/090320014314770306.jpg

(LoadImage() ou LoadBitmap(), ImageList_Create(48, 48, ...),
ImageList_AddMasked(), ListView_SetImageList() & LVSIL_SMALL)
Sylvain SF
Le #18939101
Christian ASTOR a écrit :

peux-t'on modifier la hauteur des lignes d'un contrôle ListView
en mode LVS_REPORT ?



Par exemple en changeant les dimensions de l'ImageList (LVSIL_SMALL)



j'ai essayé d'associer une HIMAGELIST créée avec une taille (100,30)
et initialisée depuis une bitmap ressource de nx100 x 30 px.
l'imageList est correcte (nb d'items contenu conforme, ImgDraw
dans un HDC de test correct), mais cela n'a pas redimensionné
les hauteurs des lignes du listView.
je n'ai pas fait ici un test spécifique avec des images 32x32
telles qu'attendu par un ListView en mode grandes icones,
j'ai le souvenir que cela ne fonctionnait pas quand le mode
était 'report'.

je vais refaire qlqs tests.

Sylvain.
Sylvain SF
Le #18942741
Christian ASTOR a écrit :

En faisant passer de 16 à 48 par exemple, ça me donne, sous XP de
http://nsa06.casimages.com/img/2009/03/20/09032001425419053.jpg
à http://nsa06.casimages.com/img/2009/03/20/090320014314770306.jpg

(LoadImage() ou LoadBitmap(), ImageList_Create(48, 48, ...),
ImageList_AddMasked(), ListView_SetImageList() & LVSIL_SMALL)



cela fonctionne parfaitement en effet (
excès de zèle (bug!) de mon wrapper de ListView (son setImageList)
qui déterminait le paramètre iImageList en fonction de la taille
des images et non du mode d'affichage de la liste. shame.

merci.
Sylvain.
Publicité
Poster une réponse
Anonyme