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
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 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)
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
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.
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'.
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
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 (<http://cjoint.com/?dwnul3kEAU>).
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.
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 (<http://cjoint.com/?dwnul3kEAU>).
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.
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 (<http://cjoint.com/?dwnul3kEAU>).
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.