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?
ToolbarXP
ToolbarXP
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?

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?
-
Le Soldat Inconnu
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
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
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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
C'est clair!
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.

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.