Page 1 sur 1

ToolbarXP

Publié : sam. 04/juin/2005 9:31
par nico
J'aime beaucoup les effets de cette lib et son apparence, j'aimerais à terme créer moi-même ce genre de Lib pour une barre de menu, de même pour sa lib PopupMenuXP.

J'ai remarqué que pour cette Lib, le Soldat utilise des boutons alors que pour sa Lib PopupMenuXP, il utilise un ImageGadget. Je pense donc qu'il utilise la technique OwerDraw et je me demandais pourquoi il n'utilisait pas plutôt l'imageGadget comme pour son PopupMenuXP?


:)

Publié : sam. 04/juin/2005 18:53
par Le Soldat Inconnu
On peut utiliser l'une ou l'autre

d'un coté la complexité de l'ownerdraw mais quand il est fais une fois pour de bon, on ne s'en occupe plus (ma lib buttonImageGadgetEx)

de l'autre les images ou la gestion du survol (animation au passage de la souris) doit être gérér manuellement

Pourquoi il y a une différence ?

Pour ToolBarXP, il faut gérer chaque bouton indépendament pour pouvoir les déplacer, les désactiver, etc ...

Sur PopupMenu Editeur (la dernière version, le code doit pas être dispo), je gère l'affichage grace à une image unique (il n'y a pas de découpe en petite image)
L'avantage est pour l'application d'un skin qui se fait vraiment facilement
Pour ToolBarXP, le skin est vraiment très limité (on ne peut pas vraiment jongler d'un bouton à un autre, ils ont tous la même apparence) tandis qu'avec une image unique, il est très simple d'intégrer une apparence très complexe avec des formes qui ne s'arrête pas au bord du bouton mais qui sont globales.

Dans le 2 cas, on peut mettre tout ce dont je parle en oeuvre, après, il y a le choix de la simplicité qui prime.

J'espère que ça t'éclaire ;)

Si tu veux voir les sources n'hésite pas à m'envoyer un MP

Publié : sam. 04/juin/2005 20:04
par nico
C'est clair! :D

J'ai essayé de modifier ton code PopuMenuXP pour éviter qu'il prenne le focus lors de son apparition mais rien à faire, je pense que c'est à cause de la commande UseWindow(); si j'avais réussi à le faire, je pense que j'aurais pu éviter que le click sur le menu ne prenne le focus.


Je te remercie pour ton offre, mais la reprise de code est délicate; c'est plus motivant de se lancer soi-même.

:)