1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
{
applicationObject = application;
addInInstance = addInInst;
CommandBars oCommandBars;
CommandBar oStandardBar;
// récupère toutes les barres d'outils de l'application
oCommandBars = (CommandBars)applicationObject.GetType().InvokeMember("CommandBars",
BindingFlags.GetProperty,
null,
applicationObject,
null);
// récupère la barre d'outils standard
oStandardBar = oCommandBars["Standard"];
// Attention, pour Microsoft Access la barre d'outils standard se nomme "Database"
// Si le bouton n'a pas été supprimé
try
{
// texte correspondant au "caption" du bouton précédement ajouté
MonBouton = (CommandBarButton)oStandardBar.Controls["TestBtn"];
}
catch (Exception)
{
object omissing = Missing.Value;
MonBouton = (CommandBarButton)oStandardBar.Controls.Add(1, omissing, omissing, omissing, omissing);
// Texte du bouton
MonBouton.Caption = "TestBtn";
// Style du bouton. Ce sont des constantes prédéfinies
// msoButtonAutomatic, msoButtonIcon, msoButtonCaption, msoButtonIconAndCaption,
// msoButtonIconAndCaptionBelow, msoButtonIconAndWrapCaption,
// msoButtonIconAndWrapCaptionBelow, ou msoButtonWrapCaption.
MonBouton.Style = MsoButtonStyle.msoButtonCaption;
// Les éléments suivants sont facultatifs, mais recommandés.
// La propriété Tag vous permet de prendre le contrôle rapidement
// et d'aider la société à réseaux multiples à en garder une trace lorsque plusieurs
// fenêtres d'application sont visibles. Cette propriété est requise
// par certaines applications Office et doit être fournie.
MonBouton.Tag = "SPOTag";
// La propriété OnAction est facultative, mais recommandée.
// Elle doit être définie sur le ProgID du complément pour que,
// si le complément n'est pas chargé lorsqu'un utilisateur appuie sur le bouton,
// la société à réseaux multiples le charge automatiquement, puis déclenche
// l'évènement Click pour le complément à gérer.
MonBouton.OnAction = "!<MyCOMAddin.Connect>";
MonBouton.Visible = true;
// on ajoute une méthode à l'évènement Click de notre bouton
MonBouton.Click += new _CommandBarButtonEvents_ClickEventHandler(this.MyButton_Click);
}
} |
Partager