Une toolbar sans fond

Signaler
Messages postés
43
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
21 septembre 2006
-
Messages postés
4
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
27 octobre 2005
-
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

Messages postés
52
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
13 juin 2009

Tu as trouvé une solution pour finir car j'ai le meme probléme ????
Messages postés
4
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
27 octobre 2005

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