MS Word Plugin, Adicionando um botão que aparece com o botão direito sobre o texto selecionado

StackOverflow https://stackoverflow.com/questions/684438

  •  22-08-2019
  •  | 
  •  

Pergunta

Eu estou trabalhando em um suplemento compartilhado para MS Word 2007. Eu gostaria de adicionar um botão que aparece quando o texto selecionado é direito clicado. O instantâneo anexado deve deixar isso claro.

Atualmente, o usuário tem que selecionar o texto e clique em um botão em um controle personalizado. Seria muito mais fácil se depois de selecionar o texto, s / he pode clicar nele e pressione o botão relevante no contexto do botão direito.

text alt

Foi útil?

Solução 2

Aqui está como isso pode ser feito ...

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);
}

Outras dicas

Você precisa estender o contextmenu correta. O link a seguir descreve em palavras (sem código fonte) como isso pode ser alcançado:

Addin Shared usando o Word

Talvez este Fazer a ligação pode ajudar um pouco com a codificação. Eu não tentei-lo eu mesmo, mas pode apontar na direção certa.

Boa sorte! :)

Editar:

Tem que ser o menu de contexto estilo fita ou se um botão dentro do menu de contexto normal de ser o suficiente? No caso do menu normal seria ok, você pode usar esse caminho (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;

Você pode fazer isso com o VSTO, eu não tenho tanta certeza se ele funciona exatamente da mesma maneira com o Shared Add-in tecnologia, mas talvez ele não ajuda;)

A partir MSDN -

Você não pode modificar a barra de ferramentas Mini programação.

um pouco mais de metade do doc. Procurar no mini-barra de ferramentas.

Edit: O pop-up de ter circulado na imagem acima não aparece no botão direito do mouse, ele aparece em destaque. O menu de contexto (abaixo do texto selecionado) poderia ter sua funcionalidade personalizada, mas não no mini barra de ferramentas.

http://groups.google.com/group/microsoft.public.word.docmanagement/browse_thread/thread/cf55d996b3f51a06/65b2bad22e2a3583?lnk=st&q=Removing+Items+from+Word+2007 é como fazê-lo em VBA. É muito semelhante usando COM e, provavelmente, criar uma palavra add-in (eu não tentei embora) Você basicamente precisa encontrar o controle de menu de contexto e adicionar um item a ele (a função).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top