ToolbarXP

Sujets variés concernant le développement en PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

ToolbarXP

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


:)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message 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
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)]
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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.

:)
Répondre