Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ADDIN VB6 - INDENTEUR DE CODE SIMPLE À LANCER PAR RACCOURCIS CLAVIER


Information sur la source

Catégorie :Optimisation du code Classé sous : addin, indentation, code, raccourcis, subclassing Niveau : Initié Date de création : 03/08/2007 Date de mise à jour : 06/08/2007 15:39:11 Vu / téléchargé: 5 086 / 317

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

05 août 2007 10:32:16 :
Retrait whell.tlb
06 août 2007 15:30:14 :
Paramétrage de l'indentation (click droit dans un volet de code, menu Indente moi ça !) Ajout d'un visuel d'avancement.
06 août 2007 15:30:52 :
Paramétrage de l'indentation (click droit dans un volet de code, menu Indente moi ça !) Ajout d'un visuel d'avancement.
06 août 2007 15:39:11 :
Pb de ZIP

Commentaires et avis

signaler à un administrateur
Commentaire de MadM@tt le 03/08/2007 19:58:54

ça a l'air super interessant ça !
J'ai bien aimé la présentation mélodramatique, j'ai failli y verser une larme... que de rebondissements héhéhé ^^

Je testerai ça bientot en tout cas, bravo pour le boulot !

(et dans la meme lignée - addin VB - y'a de quoi faire c'est cool d'apporter des petits outils comme ça)

signaler à un administrateur
Commentaire de Renfield le 04/08/2007 07:31:27 administrateur CS

manque le wheel.tlb


dans connect.dsr : CommandBars.Item(11)
ne reference pas le menu par son index, utilises son ID (on peut avoir des menus en plus...)

Tout le monde n'indente pas de la même facon, faudrait pouvoir parametrer la chose

Enfin, imagine un gros projet tout crade. Tu te vois ouvrir chaque module pour l'indenter ?
"Indenter le projet" DOIT donc faire son apparition...

pas mal codé sinon

signaler à un administrateur
Commentaire de moustachu le 04/08/2007 10:27:19

Merci de vos messages.

Oui, oui, tout le monde n'indente pas de la même manière. Le paramétrage va suivre. le wheel.tlb ne doit pas servir, il faut que je le retire.

J'imagine bien un projet tout crade, même un groupe de projets ^^ ! Je metterai indenter le projet.

Maintenant, c'était surtout pour illustrer le lancement d'une fonction par raccourcis clavier.

Pour le menu, j'ai fait ça un peu vite, je vais voir aussi.

Dis-donc Renfield, tu te mets persque à écrire comme Brunews. Attention, c'est copyright ;o)

++

Moustachu

signaler à un administrateur
Commentaire de asimengo le 04/08/2007 14:35:31

Download et dans les archives.

Pfffffffffffffffffff encore ce fameux subclassing, fo peut-etre essayer de savoir ce que c'est. Au fait Moustachu pour aller plus vite file moi un lien que je mettrai aussi aux archives pour pouvoir aller y jeter un coup d'oeil si yaura un jour besoin.

Suis vieux pour retourner à l'école, j'ai une famille à nourir moi, vous allez trop loin, lol.

signaler à un administrateur
Commentaire de Renfield le 05/08/2007 09:46:24 administrateur CS

J'ecris, j'ecris pas mal sur VbFrance, je fais direct et concis...
BruNews a du faire le même constat y'a un bout de temps ^^

signaler à un administrateur
Commentaire de moustachu le 05/08/2007 10:22:07

Renfield>Aucun soucis, tu l'avais compris. Précis et concis, on a toutes les infos nécessaire ;o)
Asimengo>J'ai pas bien compris ton message
MadM@tt>Un mélo, peut être, et je t'ai épargné l'épisode du RegisterHotKey...

signaler à un administrateur
Commentaire de moustachu le 06/08/2007 15:35:01

Source mise à jour. Le paramétrage de l'indentation est dispo (enfin... presque...)
En revanche, j'ai un petit problème dans la procédure WindowProc (module modMain) :
Select Case uMsg
    Case WM_KILLFOCUS
        UnhookWindow
        HookWindow

J'ai bien le UnHook mais il semble que le code pane ne soit pas actif au moment du HookWindow, le raccourcis clavier ne fonctionne donc pas si on réduit une fenêtre et qu'une autre, en dessous, devient active.

Quelqu'un a une idée ?

++
Moustachu

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Addin Genrateur de Code SQL & fenetre a partire de basse access [ par aserf ] Bonjours, je suis a la recherche de personne pour tester mon addin de generateur de code et fenetre.(VB6 Sp5, Mdac 2.5, WSH 5.6 necessaire)Il genere l A lLIRE : L'indentation des sources [ par Flachy Joe ] Salut tout le monde !J'ai remarqu&#233; que beaucoup de sources post&#233;s sont mal ou pas indent&#233;es, pensant que c'est parce que les auteurs ne Indentation du code dans les messages [ par PROGRAMMIX ] Je trouve dommage que lorsqu'on poste un message dans lequel on a écrit du code en respectant une certaine indentation, celle-ci est supprimée lorsque Indentation du code [ par sylric ] Comment on fait pour que l'indentation soit respectée quand on écrit un morceau de code sur le forum ?Parce que, même en utilisant l'icône pour le cod ADDIn VB6 cherche testeur [ par aserf ] Bonjours,Je cherche des personne pour tester un petit addin pour vb6, il genere automatiquement des fenetre a partire de table, il genere aussi des fo Winsock -code bidon,pk sa marche pas ?? [ par nashoy ] salut,jai un ptit code tout bidon,et jaimerai savoir coment je pe/si je pe y ajouter un nom de destinataire et de l'envoyeur, pas ladresse, le nom,et Bip sur textbox [ par BasicInstinct ] 'lut a toisur mes textbox, j'ai un truc du style:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Text2.SetFocusEnd If<br Envoi de control à une autre appli [ par olepretre ] Bonjour,Je voudrais envoyer des séquences de controle (ctrl a, ctrl c) à une autre application (comme word, excel...). J'ai testépostmessage(hwnd,WM_K extraction de données sap vers une table access [ par lino03 ] cela fait 2 jours que j'essai de trouver une methode pour ecrire en vba : un code qui permet d'extraire des données d'un download "SAP" vers une table besoin d'aide sur le sujet d'unir deux form pour les code [ par Many_hack ] Votre texte ICIVotre texte ICIRené-steveB


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.