Une toolbar sans fond

GRAZNOK Messages postés 43 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 21 septembre 2006 - 27 mai 2004 à 17:40
flowice Messages postés 4 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 27 octobre 2005 - 15 nov. 2004 à 20:57
Je m'explique :
je voudrais créer une toolbar (avec le composant common control 5) mais aussi retirer le fond de la barre ou alors le rendre transparent. Parce que j'ai voulu la placer dans une coolbar mais sous XP, la couleur en dégradé de la coolbar est masquée par le rectangle (le fond) de la toolbar. Ce qui fait que c'est horrible.
J'ai cherché à appliquer des styles C++ (SetWindowLong) mais ça fait que dalle...
Bref c'est à chier et je trouve pas le moyen d'en sortir.

Au fait j'utilise VB 6 sous XP Pro SP1

2 réponses

cs_Rifton007 Messages postés 52 Date d'inscription samedi 28 août 2004 Statut Membre Dernière intervention 13 juin 2009
1 sept. 2004 à 15:26
Tu as trouvé une solution pour finir car j'ai le meme probléme ????
0
flowice Messages postés 4 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 27 octobre 2005
15 nov. 2004 à 20:57
J'ai eu le même problème en voulant appliquer le style xp à un control coolbar parent de plusieurs toolbar.
Cela fait désordre car la couleur des toolbar gache l'effet de dégradé de coolbar.
Aprés maintes recherches, il s'avère à priori que l'on peut rendre une toolbar transparent avec l'API mais seulement si on a la version 4.7 du controle ? La version 6 marche pas ?

J'ai trouvé une solution pas trés élégante mais qui marche bien :
- vérifier que l'on est sous xp ( version) et que les thèmes sont actifs
- Trouver la couleur système vbbuttonface (couleur du toolar par défaut) en fonction du thème xp avec la fonction API "oletranslatecolor"
- créer une image bitmap temporaire constituée de la couleur du toolbar
- affecter cette image à la propriété picture du coolbar au démarrage du programme:
Set Me.CoolBar1.Picture = LoadPicture(chemin + "\image.bmp")

Si quelqu'un a une autre solution, je suis aussi preneur !

Pascal
0