ListBox & transparence

Résolu
cs_norton Messages postés 215 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 21 août 2011 - 10 déc. 2006 à 19:57
cs_norton Messages postés 215 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 21 août 2011 - 17 déc. 2006 à 14:32
Bonsoir, je code sous Borland C++ Builder 6 et j'aimerai savoir si y a un moyen de rendre une listbox transparente ??

Je m'explique :

En arrière plant sur ma form j'ai mis une image bmp et j'aimerai pouvoir voir mon image a travers la listbox.

Merci et bonne soirée.

2 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
17 déc. 2006 à 12:14
Salut,
C'est possible avec l'API Windows. La listbox doit avoir le style LBS_OWNERDRAWFIXED. Elle doit aussi avoir le style LBS_HASSTRINGS pour pouvoir afficher son contenu. La fenêtre mère reçoit le message WM_DRAWITEM quand le contenu de la listbox sera affiché. lParam contient un pointeur sur une structure DRAWITEMSTRUCT. Cette structure contient tout ce qu'il faut pour afficher tous les items de la listbox. SetBkMode() permet de passer au mode transparent avant l'écriture des items avec DrawText(). Si la listbox n'a pas de barre de défilement, on obtient facilement la transparence du fond. Il suffit de sous-classer la listbox et faire un return 1; pour le message WM_ERASEBKGND. Dans le cas contraire, c'est un peu plus compliqué car il faudra sauvegarder le fond original de la listbox pour pouvoir le restaurer apès un défilement.
3
cs_norton Messages postés 215 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 21 août 2011
17 déc. 2006 à 14:32
bonjour, merci pour votre réponse mais je me suis débrouillé autremment.
Mais merci du conseille.

@++ et bon coding.

norton
0
Rejoignez-nous