j'ai écrit quelques fonctions pour la gestions des images pour les ListiconGadget, Treegadget et Panelgadget
Reportez-vous à la doc et aux exemples
Je suis parti du principe de ne pas subclasser les fenêtres.
Toutes les images sont transformées en icône avant utilisation,
mais les images d'origine ne sont pas modifiées.
Il ne faut pas supprimer les images après utilisation des commandes.
On passe l'identifiant statique (et pas le Handle) comme paramètre
Si vous utilisez la même image, par exemple #image3 en changeant les paramètres
de transparence, toutes les images utilisées (par type de gadget) par le gadget
basées sur #image3 prendront les derniers paramètres de la dernière commande utilisée.
Il y a quelques limites, voir le fichier d'aide.
Les images utilisables sont celles chargées avec les commandes PB,
la transparence est gérée, avec une possibilité de choisir les paramètres
Avec les fichiers Jpg, on a pas toujours le résultat de transparence escompté
en particulier dans le cas de création d'un jpg à partir d'un png par exemple.
certaines couleurs sont modifiées même si on applique pas de compression
tout du moins avec PSP 9.
Il est possible de modifier les Case à cocher (commande SetCustomCheckBoxes()) en mettant
celles de son choix (à partir d'icônes, j'ai volontairement "interdit" les autres formats
pour les cases à cocher personnelles).
je vous ai fait plusieurs Case à cocher format icône XP 16x16 (c'est cadeau

Pour toutes les images (XP et >), la couche alpha est supportées (API MS).
Le rendu des icônes XP est médiocre si on a pas les thèmes activés ou si l'OS est < XP
Le code est relativement long, les macros sont utilisées en interne, si vous voulez les exploiter, à vous de faire les tests qui évitent les crash
Il y a des commandes pour supprimer les images, mais les listicongadget ne retire pas l'espace réservé
de la 1ere colonnes (enfin je ne suis pas arrivé à le faire malgré des heures passées la-dessus).
Si vous utilisez la commande FreeGadget(), il faut utiliser immédiatement avant la commande FreeImage()
correspondante.
Je n'ai pas fait de librairie, juste des fonctions.
Le zip est ici http://denislabarre.free.fr/Divers/Func ... rsion1.zip
Aperçu :

Voici les fonctions par nom
Code : Tout sélectionner
GetColumnAlignment()
GetHeaderImage()
GetHeaderImageAlignment()
GetitemImage()
GetItemIndentation()
ListIconGadgetDisplayMode()
FreeGadgetImages()
RemoveHeaderImage()
RemoveItemImage()
SetColumnAlignment()
SetCustomCheckBoxes()
SetHeaderImage()
SetHeaderImageAlignment()
SetitemImage()
SetItemIndentation()
SetImageSize()
ShiftSubItem()