Addin vb6 - indenteur de code simple à lancer par raccourcis clavier

Description

Bonjour,

Voilà bien longtemps que je cherchais à lancer un add-in depuis l'IDE à l'aide d'un raccourcis clavier.

Certains ont peut-être déjà essayer (pire, déjà réussi!) mais il n'est pas possible simplement d'associer un raccourcis à un menu créé pour le lancement d'une fonction d'un Add-In.

En fait, la solution est la même que celle utilisée pour rajouter la molette de la souris dans l'IDE. Il faut sous classer l'IDE de VB6, plus précisément, il faut sous classer la fenêtre de code de l'IDE. Mini drame : l'IDE ne nous fournit pas le Handle de l'objet "window" de la fenêtre de code. Heureusement, on a accès au handle de la fenêtre principale, le code pane étant une fenêtre fille de la fenêtre MDI, on peut alors récupérer son Handle (de la fenêtre fille, ça suit ?). Ah oui, mais ça c'est en MDI. Pour le mode SDI cher à Clementio, c'est plus simple. Juste un "FindWindow" est nécessaire pour récupérer le hWnd.

Le seul problème, c'était moi :o). Incapable de garder mon self-control quand on me parlait de subclassing, j'ai du m'y mettre. Finallement, pour ce que j'avais à faire ici, c'était pas trop compliqué.

Comme exemple d'utilisation, je vous propose un indenteur de code, très simple, pas configurable pour le moment, il sera mis à jour au fur et à mesure.

Conclusion :


Une fois le complément chargé, Ctrl+F11 indente le module courant, Ctrl+Maj+F11 indente le projet.

Spéciale dédicace, comme on dit à :
EBartsoft (origine du code pour utiliser la roulette dans l'IDE)
Philippe734 (pour sa source custom tools)
Clementio (le mode SDI est fait pour toi !)
Renfield, pour m'avoir tant énervé avec son subclassing !!!

N'hésitez pas à laisser vos commentaires, remarques, évolutions.

++
Moustachu

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.