INTRODUÇÃO
Este artigo descreve um exemplo de código Framework All-In-One que está disponível para download. O exemplo de código demonstra como desenvolver um aplicativo de suplemento do Microsoft OneNote 2010 COM que implementa a interface IRibbonExtensibility . O suporta o aplicativo suplementar para personalizar a faixa de opções, Implementando a interface IRibbonExtensibility . Este exemplo de código também apresenta como usar o modelo de objeto do OneNote 2010.
Nível de dificuldade
Informações sobre o download
Para baixar este exemplo de código, clique em um dos links a seguir:
Visão geral técnica
Criar um aplicativo de suplemento compartilhado para o OneNote 2010
Porque o Assistente de suplemento compartilhado não contém uma opção do Microsoft OneNote, criar um aplicativo de suplemento compartilhado para o OneNote 2010, siga estas etapas:
-
Selecione Microsoft Access como seu host de aplicativo Shared Add-in Wizard.
-
Modifique o registro do projeto de instalação HKCU para a seguinte subchave do registro:
[Exemplo de suplemento do HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 da faixa de opções"
Herdar a interface IDTExtensibility personalizada do controle de faixa de opções para o OneNote
Para personalizado controle da faixa de opções do OneNote, execute o seguinte código para tornar a classe connect herdam a interface IRibbonExtensibility e implementar o método GetCustomUI :
/// <summary> /// Loads the XML markup from an XML customization file /// that customizes the Ribbon user interface. /// </summary> /// <param name="RibbonID">The ID for the RibbonX UI</param> /// <returns>string</returns> public string GetCustomUI(string RibbonID) { return Properties.Resources.customUI; }
Recursos personalizados de ícone e implementar de botões para o controle da faixa de opções
Execute o seguinte código para implementar os métodos OnGetImage e ShowForm no arquivo customUI:
/// <summary> /// Implements the OnGetImage method in customUI.xml /// </summary> /// <param name="imageName">the image name in customUI.xml</param> /// <returns>memory stream contains image</returns> public IStream OnGetImage(string imageName) { MemoryStream stream = new MemoryStream(); if (imageName == "showform.png") { Resources.ShowForm.Save(stream, ImageFormat.Png); } return new ReadOnlyIStreamWrapper(stream); } /// <summary> /// show Windows Form method /// </summary> /// <param name="control">Represents the object passed into every /// Ribbon user interface (UI) control's callback procedure.</param> public void ShowForm(IRibbonControl control) { OneNote.Window context = control.Context as OneNote.Window; CWin32WindowWrapper owner = new CWin32WindowWrapper((IntPtr)context.WindowHandle); TestForm form = new TestForm(applicationObject as OneNote.Application); form.ShowDialog(owner); form.Dispose(); form = null; context = null; owner = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); }
Usar o modelo de objeto do OneNote 2010 para obter o título de uma página do OneNote
Adicionar referência de biblioteca de objetos do Microsoft OneNote 14.0 e, em seguida, defina a propriedade Tipo de interoperabilidade incorporar como False:
/// <summary> /// Get the title of the page /// </summary> /// <returns>string</returns> private string GetPageTitle() { string pageXmlOut = GetActivePageContent(); var doc = XDocument.Parse(pageXmlOut); string pageTitle = ""; pageTitle = doc.Descendants().FirstOrDefault().Attribute("ID").NextAttribute.Value; return pageTitle; }
Categoria de tecnologia
Desenvolvimento do Office
Idiomas
Este código de exemplo está disponível nos seguintes idiomas de programação:
Idioma |
Nome do projeto |
---|---|
O Visual C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
Pré-requisitos
Para executar este exemplo de código, você deve instalar os seguintes produtos:
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio Tools for Microsoft Office 2010
-
Microsoft OneNote 2010
Marcas de formatação
-
Suplemento da faixa de opções do OneNote 2010
-
Suplemento de COM
-
IDTExtensibility
-
Modelo de objeto do OneNote 2010
Referências
Para obter mais informações sobre como adicionar em aplicativos do COM para modificar a Interface do usuário, visite o seguinte site da MSDN:
Para obter mais informações sobre problemas de compatibilidade para o OneNote 2010 e para o Visual Studio2010, visite o seguinte blog do MSDN:
Para obter mais informações sobre como criar aplicativos de suplemento de COM do OneNote 2010, visite os seguintes sites da Microsoft:
Informações adicionais
O que é a estrutura de código All-In-One?
All-In-One código Framework mostra a maioria das técnicas de desenvolvimento Microsoft por meio de exemplos de código em linguagens de programação diferentes. Cada exemplo cuidadosamente é selecionado, composto e documentado para mostrar um cenário comum de código. Para obter mais informações sobre o All-In-One código Framework, visite o seguinte site da Microsoft:
Como encontrar mais amostras de código Framework All-In-One
Para obter mais exemplos de código Framework All-In-One, procure por "kbcodefx" com palavras-chave relacionadas no Microsoft site de suporte. Ou visite o seguinte site da Microsoft:
Isenção de responsabilidade de publicação rápida
Microsoft corporation e/ou em seus respectivos fornecedores tornam não oferece representações sobre a adequação, confiabilidade ou precisão das informações e gráficos relacionados aqui contidos. Todas essas informações e gráficos relacionados são fornecidos "como estão" sem garantia de nenhum tipo. Microsoft e/ou seus respectivos fornecedores se ISENTAM de todas as garantias e condições relativas a essas informações por meio deste instrumento e relacionadas a elementos gráficos, incluindo todas as garantias implícitas e condições de COMERCIABILIDADE, adequação a uma finalidade específica, mão esforço, título e não-violação. Você especificamente concorda que em nenhuma hipótese Microsoft e/ou seus fornecedores serão responsáveis por quaisquer danos diretos, indiretos, PUNITIVOS, INCIDENTAIS, danos especiais, CONSEQUENTES ou quaisquer danos, incluindo, sem limitação, danos por perda de uso, dados ou lucros, decorrentes ou de alguma forma associadas do uso ou da incapacidade de usar as informações e gráficos relacionados contidos aqui, com base em contrato, AGRAVO, negligência, responsabilidade estrita ou outra forma, mesmo que a Microsoft ou qualquer um de seus fornecedores foi avisada da possibilidade de ocorrência de danos.