2009-03-26 4 views
1

Je travaille sur un addin partagé pour MS Word 2007. Je voudrais ajouter un bouton qui apparaît lorsque le texte sélectionné est cliqué à droite. L'instantané ci-joint devrait le rendre clair.Plug-in MS Word, Ajout d'un bouton qui apparaît à droite du texte sélectionné

Actuellement, l'utilisateur doit sélectionner le texte, puis cliquer sur un bouton d'un contrôle personnalisé. Ce serait beaucoup plus facile si, après avoir sélectionné le texte, il pouvait cliquer avec le bouton droit de la souris et appuyer sur le bouton correspondant dans la fenêtre contextuelle.

alt text

Répondre

2

Voici comment cela peut se faire ...

Microsoft.Office.Core.CommandBar cellbar = diff.CommandBars["Text"]; 
Microsoft.Office.Core.CommandBarButton button = (Microsoft.Office.Core.CommandBarButton)cellbar.FindControl(Microsoft.Office.Core.MsoControlType.msoControlButton, 0, "MYRIGHTCLICKMENU", Missing.Value, Missing.Value); 
if (button == null) 
{ 
    // add the button 
    button = (Microsoft.Office.Core.CommandBarButton)cellbar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton, Missing.Value, Missing.Value, cellbar.Controls.Count + 1, true); 
    button.Caption = "My Right Click Menu Item"; 
    button.BeginGroup = true; 
    button.Tag = "MYRIGHTCLICKMENU"; 
    button.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(MyButton_Click); 
} 
+0

C'est exactement la façon dont je l'ai décrit avant ... – Marcus

+0

Cela ajoute également dans le bouton dans le menu contextuel, pas la mini barre d'outils. – Brandon

+0

@Marcus Oui, mais il ajoute la vérification pour éviter la duplication, sinon vous obtenez plusieurs boutons, un avec chaque nouvelle instance. @Brandon Oui, mais c'est le plus proche que vous pouvez obtenir. – Nikhil

2

Vous devez étendre le menu contextuel approprié. Le lien suivant décrit en mots (pas de code source) comment cela peut être réalisé:

Shared Addin using Word

Peut-être que ce Link pourrait aider un peu avec le codage. Je ne l'ai pas essayé moi-même, mais il pourrait pointer dans la bonne direction.

Bonne chance! :)

Edit:

-t-il être le menu contextuel de style ruban ou un bouton dans serait le menu contexte normal suffisant? Dans le cas où le menu normal serait ok, vous pouvez utiliser cette façon (C#):

Microsoft.Office.Core.CommandBar cb = this.Application.CommandBars["Text"]; 

Office.CommandBarControl newButton = cb.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, missing); 
newButton.Caption = "Test"; 
newButton.Visible = true; 
newButton.Enabled = true; 

Vous pouvez le faire avec VSTO, je ne suis pas sûr si cela fonctionne exactement de la même manière avec la Ajouter partagée -En technologie, mais peut-être cela aide;)

1

De MSDN -

Vous ne pouvez pas modifier la barre d'outils Mini programme.

un peu plus de la moitié du doc. Recherche sur la mini barre d'outils.

Editer: La fenêtre contextuelle que vous avez encerclée dans l'image ci-dessus n'apparaît pas sur le clic droit, elle apparaît en surbrillance. Le menu contextuel (sous le texte sélectionné) pourrait avoir votre fonctionnalité personnalisée, mais pas dans la mini-barre d'outils.

+0

je reçois le menu contextuel sur clic droit, ainsi que highlight (Word 2007). –

+0

True. Je ne me suis pas rendu compte qu'il apparaissait à droite et à gauche. – Brandon

Questions connexes