Addin helper - créez vos propres addin pour vb6 [modules de classe]


Description

Je vous propose 5 classes qui vont vous aider pour créer vos propres Addin.

======= 4 classes autonomes
AfCls_ButtonHelper => crée un item dans le menu des composants et renvoie l'évènement click
AfCls_MenuHelper => crée un bouton avec image et tooltip dans la toolbar et renvoie l'évènement click
AfCls_FormHelper => vous y attachez votre formulaire et savez à tout moment son état de chargement et pouvez facilement agir en conséquence
AfCls_UserDocHelper => crée une instance de votre userdocument, vous pouvez alors aussi facilement interagir (tant en MDI qu'en SDI)
======= 1 classe wrapper
AfCls_CoreHelper => regroupe une instance de chaque, chaque objet étant optionnel

vi vous avez besoin de 3 boutons et 2 userdocuments par exemple, pour garder ce côté pratique d'une seule instanciation faite plutôt une classe héritant de AfCls_CoreHelper (sans transmettre les "enfants" au 'Connect') et déclarez-y 2 'AfCls_ButtonHelper' et 1 'AfCls_UserDocHelper' supplémentaires
ou modifiez juste 'AfCls_UserDocHelper', question de goût.... ^^

pas forcément évident de comprendre le fonctionnement, j'ai épuré au possible en m'appuyant sur des sources existantes et sur la documentation MSDN, j'essayerai de répondre à mieux à vos questions

comme d'hab j'attends vos retours :p
ci-dessous le "code utile" final, ce qui simplifie grandement la tâche

Source / Exemple :


'
'
'   *- CONNECT : INITIALIZE -*
Private Sub AddinInstance_Initialize()
'   init classe d'aide
    Set AfAddIn = New AfCls_CoreHelper
     
'   menu
    AfAddIn.Menu.Caption = "Titre de votre menu"
    
'   bouton
    With AfAddIn.Button
        .ToolTipText = "Afficher / masquer l'horloge"
        .RessourceID = 101
    End With

'   Concepteur
    Set AfAddIn.DsrConnect = Me

'   userdoc
    With AfAddIn.UserDocument
        .Name = "UDoc_AddIn"
        .Caption = "Exemple : horloge bidon"
    End With
End Sub
'
'
'   *- CONNECT : CONNEXION -*
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
'   instance VB
    Set AfAddIn.VBInstance = Application

'   initialisation finale
    AfAddIn.Connection AddInInst, False, True
End Sub
'
'
'   *- CONNECT : DéCONNEXION -*
Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
'   Supprime le bouton, menu, et les forms
    AfAddIn.Disconnection
End Sub

Conclusion :


les classes sont fournies avec un "projet bidon", une simple horloge qui vient se placer dans l'IDE....
projet uniquement pour que vous puissiez tester de suite, la source ne porte que sur les 5 classes

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.