GRAZNOK
Messages postés43Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention21 septembre 2006
-
27 mai 2004 à 17:40
flowice
Messages postés4Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention27 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.
flowice
Messages postés4Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention27 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 !