Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O runtime das Ferramentas do Visual Studio para Office expõe um modelo de objeto fortemente tipado que você pode usar para obter e definir as propriedades dos controles da Faixa de Opções em tempo de execução. Por exemplo, você pode preencher dinamicamente controles de menu ou mostrar e ocultar controles contextualmente. Você também pode adicionar guias, grupos e controles a uma faixa de opções, mas somente antes que a faixa de opções seja carregada pelo aplicativo do Office. Para obter informações, consulte Definir propriedades que se tornam somente leitura.
Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de suplemento VSTO para os seguintes aplicativos: Excel; InfoPath 2013 e InfoPath 2010; Outlook; PowerPoint; Project; Visio; Word. Para obter mais informações, consulte Os recursos disponíveis pelo aplicativo do Office e pelo tipo de projeto.
Esse modelo de objeto da Faixa de Opções consiste principalmente na classe Faixa de Opções, nos Eventos da Faixa de Opções e nas classes de controle Faixa de Opções.
Classe de faixa de opções
Quando você adiciona um novo item Faixa de Opções (Visual Designer) a um projeto, o Visual Studio adiciona uma classe Faixa de Opções ao seu projeto. A classe Ribbon herda da RibbonBase classe.
Essa classe aparece como uma classe parcial dividida entre o arquivo de código da Faixa de Opções e o arquivo de código do Designer da Faixa de Opções.
Eventos da Faixa de Opções
A classe Ribbon contém os três seguintes eventos:
| Event | Description |
|---|---|
| Load | Gerado quando o aplicativo do Office carrega a personalização da Faixa de Opções. O Load manipulador de eventos é adicionado automaticamente ao arquivo de código da Barra de Ferramentas. Use este manipulador de eventos para executar o código personalizado quando a faixa de opções é carregada. |
| LoadImage | Permite armazenar imagens em cache na personalização da Faixa de Opções quando a faixa de opções for carregada. Você poderá obter um pequeno ganho de desempenho se escrever código para armazenar em cache as imagens da Faixa de Opções neste manipulador de eventos. Para obter mais informações, consulte LoadImage. |
| Close | Gerado quando a instância da Faixa de Opções é fechada. |
Controles da faixa de opções
O Microsoft.Office.Tools.Ribbon namespace contém um tipo para cada controle que você vê no grupo Controles da Faixa de Opções do Office da Caixa de Ferramentas.
A tabela a seguir mostra o tipo para cada Ribbon controle. Para obter uma descrição de cada controle, consulte a visão geral da Faixa de Opções.
| Nome do controle | Nome da classe |
|---|---|
| Caixa | RibbonBox |
| Botão | RibbonButton |
| ButtonGroup | RibbonButtonGroup |
| Caixa de Seleção | RibbonCheckBox |
| ComboBox | RibbonComboBox |
| DropDown | RibbonDropDown |
| EditBox | RibbonEditBox |
| Galeria | RibbonGallery |
| Grupo | RibbonGroup |
| Rótulo | RibbonLabel |
| Menu | RibbonMenu |
| Separador | RibbonSeparator |
| Botão Dividido | RibbonSplitButton |
| Tab | RibbonTab |
| Botão de alternância | RibbonToggleButton |
O Microsoft.Office.Tools.Ribbon namespace usa o prefixo "Ribbon" para esses tipos para evitar uma colisão de nome com os nomes das classes de controle no System.Windows.Forms namespace.
Quando você adiciona um controle ao Designer da Faixa de Opções, o Designer da Faixa de Opções declara a classe para esse controle como um campo no arquivo de código do Designer de Faixa de Opções.
Tarefas comuns usando as propriedades dos controles da Faixa de Opções
Cada Ribbon controle contém propriedades que você pode usar para executar várias tarefas, como atribuir um rótulo a um controle ou ocultar e mostrar controles.
Em alguns casos, as propriedades se tornam somente para leitura depois que a Faixa de Opções é carregada ou depois que um controle é adicionado a um menu dinâmico. Para obter mais informações, consulte Definir propriedades que se tornam só de leitura.
A tabela a seguir descreve algumas das tarefas que você pode executar usando Ribbon propriedades de controle.
| Para esta tarefa: | Faça isso: |
|---|---|
| Ocultar ou mostrar um controle. | Use a propriedade Visible. |
| Habilitar ou desabilitar um controle. | Use a propriedade Enabled. |
| Defina o tamanho de um controle. | Use a propriedade ControlSize. |
| Obtenha a imagem que aparece em um controle. | Utilize a propriedade Image. |
| Altere o rótulo de um comando. | Use a propriedade Label. |
| Adicione dados definidos pelo usuário a um controle. | Use a propriedade Tag. |
| Obtenha os itens em um RibbonBox, RibbonDropDown, RibbonGallery ou RibbonSplitButton Controle. |
Use a propriedade Items. |
| Adicione itens a um RibbonComboBox, RibbonDropDownou RibbonGallery controle. | Use a propriedade Items. |
| Adicionar controles a um RibbonMenu. | Use a propriedade Items. Para adicionar controles ao RibbonMenu após o carregamento da Faixa de Opções no aplicativo do Office, você deve definir a propriedade Dynamic como true antes que a Faixa de Opções seja carregada no aplicativo do Office. Para obter informações, consulte Definir propriedades que se tornam somente leitura. |
| Obter o item selecionado de um RibbonComboBox, RibbonDropDown ou RibbonGallery. |
Use a propriedade "SelectedItem". Para um RibbonComboBox, use a propriedade Text. |
| Obter os grupos em um RibbonTab. | Use a Groups propriedade. |
| Especifique o número de linhas e colunas que aparecem em um RibbonGallery. | Use as propriedades RowCount e ColumnCount. |
Definir propriedades que se tornam somente leitura
Algumas propriedades só podem ser definidas antes de a faixa de opções carregar. Há três locais para definir essas propriedades:
Na janela Propriedades do Visual Studio.
No construtor da classe Ribbon .
No método
CreateRibbonExtensibilityObjectda classeThisAddin,ThisWorkbookouThisDocumentdo seu projeto.Os menus dinâmicos fornecem algumas exceções. Você pode criar novos controles, definir suas propriedades e adicioná-las a um menu dinâmico em tempo de execução, mesmo após a faixa de opções que contém o menu ser carregada.
As propriedades dos controles que você adiciona a um menu dinâmico podem ser definidas a qualquer momento.
Para obter mais informações, consulte Propriedades que se tornam de leitura apenas.
Definir propriedades no construtor da faixa de opções
Você pode definir as propriedades de um Ribbon controle no construtor da classe Ribbon . Esse código deve aparecer após a chamada para o InitializeComponent método. O exemplo a seguir adiciona um novo botão a um grupo se a hora atual for 17:00 Horário do Pacífico (UTC-8) ou posterior.
Adicione o código seguinte:
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
if (System.DateTime.Now.Hour > 16)
{
Microsoft.Office.Tools.Ribbon.RibbonButton button =
this.Factory.CreateRibbonButton();
button.Label = "New Button";
group1.Items.Add(button);
}
}
Em projetos do Visual C# que você atualizou do Visual Studio 2008, o construtor aparece no arquivo de código da Faixa de Opções.
Em projetos do Visual Basic ou em projetos do Visual C# criados no Visual Studio 2013, o construtor aparece no arquivo de código do Designer da Faixa de Opções. Esse arquivo se chama YourRibbonItem. Designer.cs ou YourRibbonItem. Designer.vb. Para ver esse arquivo em projetos do Visual Basic, primeiro clique no botão Mostrar Todos os Arquivos no Gerenciador de Soluções.
Definir propriedades no método CreateRibbonExtensibilityObject
Você pode definir as propriedades de um Ribbon controle ao substituir o método CreateRibbonExtensibilityObject na classe ThisAddin, ThisWorkbook ou ThisDocument do seu projeto. Para mais informações sobre o método CreateRibbonExtensibilityObject, consulte a Ribbon Overview.
O exemplo a seguir define as propriedades do Ribbon no método da classe ThisWorkbook de um projeto de pasta de trabalho do Excel.
Adicione o código seguinte:
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
bool myCondition = false;
if (myCondition == true)
{
Ribbon1 tempRibbon = new Ribbon1();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabHome";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
{ tempRibbon });
}
else
{
Ribbon2 tempRibbon = new Ribbon2();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
}
}
Propriedades que se tornam somente leitura
A tabela a seguir mostra as propriedades que só podem ser definidas antes do carregamento da faixa de opções.
Observação
Você pode definir as propriedades dos controles em menus dinâmicos a qualquer momento. Essa tabela não se aplica nesse caso.
| Propriedade | Classe de controle de faixa de opções |
|---|---|
| BoxStyle | RibbonBox |
| ButtonType | RibbonSplitButton |
| ColumnCount | RibbonGallery |
| ControlId | RibbonTab |
| DialogLauncher | RibbonGroup |
| Dinâmico | RibbonMenu |
| Global | OfficeRibbon |
| Grupos | RibbonTab |
| ImageName | RibbonButton RibbonComboBox RibbonDialogLauncher RibbonDropDown RibbonEditBox RibbonGallery RibbonMenu RibbonSplitButton RibbonToggleButton |
| TamanhoDoItem | RibbonMenu RibbonSplitButton |
| MaxLength | RibbonComboBox RibbonEditBox |
| Nome | RibbonComponent |
| Cargo | RibbonButton RibbonCheckBox RibbonGallery RibbonGroup RibbonMenu RibbonSeparator RibbonSplitButton RibbonTab RibbonToggleButton |
| RibbonType | OfficeRibbon |
| RowCount | RibbonGallery |
| ShowItemImage | RibbonComboBox RibbonDropDown RibbonGallery |
| ShowItemLabel | RibbonDropDown RibbonGallery |
| ShowItemSelection | RibbonGallery |
| SizeString | RibbonComboBox RibbonDropDown RibbonEditBox |
| StartFromScratch | OfficeRibbon |
| Guias | OfficeRibbon |
| Title | RibbonSeparator |
Definir propriedades para Ribbons que aparecem nos inspetores do Outlook
Uma nova instância da faixa de opções é criada sempre que um usuário abre um Inspetor no qual a faixa de opções é exibida. No entanto, você pode definir as propriedades listadas na tabela acima somente antes que a primeira instância do Ribbon seja criada. Depois que a primeira instância é criada, essas propriedades se tornam somente leitura porque a primeira instância define o arquivo XML que o Outlook usa para carregar a faixa de opções.
Se você tiver uma lógica condicional que define qualquer uma dessas propriedades para um valor diferente quando outras instâncias da faixa de opções (ribbon) forem criadas, esse código não terá efeito.
Observação
Verifique se a propriedade Name está definida para cada controle que você adiciona a uma Faixa de Opções do Outlook. Se você adicionar um controle a uma Faixa de Opções do Outlook em tempo de execução, deverá definir essa propriedade em seu código. Se você adicionar um controle a uma Barra de Ferramentas do Outlook em tempo de criação, a propriedade Name será definida automaticamente.
Eventos de controle da faixa de opções
Cada classe de controle contém um ou mais eventos. A tabela a seguir descreve esses eventos.
| Event | Description |
|---|---|
| Click | Ocorre quando um controle é clicado. |
| TextChanged | Ocorre quando o texto de uma caixa de edição ou caixa de combinação é alterado. |
| Carregando Itens | Ocorre quando a coleção de itens do controle é solicitada pelo Office. O Office armazena em cache a coleção Itens até que seu código altere as propriedades do controle ou chame o InvalidateControl método. |
| ButtonClick | Ocorre quando um botão em um RibbonGallery ou RibbonDropDown é clicado. |
| SeleçãoAlterada | Ocorre quando a seleção em um RibbonDropDown ou RibbonGallery é alterada. |
| DialogLauncherClick | Ocorre quando o ícone do inicializador de diálogo no canto inferior direito de um grupo é clicado. |
Os manipuladores de eventos para esses eventos têm os dois parâmetros a seguir.
| Parâmetro | Description |
|---|---|
| remetente | Um Object que representa o controle que gerou o evento. |
| e | Um RibbonControlEventArgs que contém um IRibbonControl. Use este controle para acessar qualquer propriedade que não esteja disponível no modelo de objeto do Ribbon fornecido pelas Ferramentas do Visual Studio para o tempo de execução do Office. |
Conteúdo relacionado
- Acessar a faixa de opções em tempo de execução
- Visão geral do Ribbon
- Como começar a personalizar a fita
- Designer de Faixa de Opções
- Passo a passo: criar uma guia personalizada usando o Designer da Faixa de Opções
- Passo a passo: atualizar os controles em uma faixa de opções em tempo de execução
- Personalizar uma faixa de opções para o Outlook
- Como: Personalizar uma guia integrada
- Como adicionar controles ao modo de exibição Backstage
- Como exportar uma faixa de opções do Designer de Faixa de Opções para o Ribbon XML
- Como: Mostrar erros de interface de usuário do Add-in