INTRODUÇÃO
Este artigo descreve uma amostra de estrutura de código tudo-em-um que está disponível para transferência. O exemplo de código demonstra como desenvolver uma Microsoft OneNote 2010 COM o suplemento com aplicação que implementa a interface IRibbonExtensibility . Suporta a aplicação de suplementos para personalizar o friso ao implementar a interface IRibbonExtensibility . Este exemplo de código também introduz como utilizar o modelo de objecto do OneNote 2010.
Nível de dificuldade
Informações de transferência
Para transferir este exemplo de código, clique das seguintes hiperligações:
Descrição geral técnica
Criar uma aplicação partilhada suplemento para o OneNote 2010
Porque partilhado suplemento Assistente não contém uma opção do Microsoft OneNote, para criar uma aplicação partilhada suplemento para o OneNote 2010, siga estes passos:
-
Seleccione Microsoft Access como o anfitrião da aplicação partilhada suplementoassistente.
-
Modificar o registo de projecto de programa de configuração HKCU para a seguinte subchave de registo:
[Exemplo de suplemento do Friso de HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010"
Herdar a interface IDTExtensibility personalizado para o controlo de friso do OneNote
Personalizado para o controlo de friso do OneNote, execute o seguinte código para tornar a classe de ligar herdar a interface IRibbonExtensibility e, em seguida, aplicar 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; }
Funcionalidades personalizadas sobre o ícone e implementar dos botões para o controlo do Friso
Execute o seguinte código para implementar os métodos OnGetImage e ShowForm no ficheiro customUI.xml:
/// <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(); }
Utilizar o modelo de objecto do OneNote 2010 para obter o título para uma página do OneNote
Adicionar referência de biblioteca de objectos do Microsoft OneNote 14.0 e, em seguida, defina a propriedade de Incorporar o tipo de interoperabilidade como Falso:
/// <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 exemplo de código está disponível nas linguagens de programação seguintes:
Idioma |
Nome do projecto |
---|---|
Visual c# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
Pré-requisitos
Para executar este exemplo de código, tem de instalar os seguintes produtos:
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio Tools para o Microsoft Office 2010
-
Microsoft OneNote 2010
Etiquetas
-
Suplemento de friso do OneNote 2010
-
Suplemento COM
-
IDTExtensibility
-
Modelo de objecto do OneNote 2010
Referências
Para mais informações sobre o suplemento com aplicações do COM para modificar a Interface de utilizador, visite o seguinte Web site da MSDN:
Para mais informações sobre problemas de compatibilidade para o OneNote 2010 e para Visual Studio2010, visite o seguinte blogue da MSDN:
Para mais informações sobre como criar o OneNote 2010 COM o suplemento com aplicações, visite os seguintes Web sites da Microsoft:
Mais Informações
O que é a estrutura de código tudo-em-um?
Tudo-em-um estrutura de código mostra a maior parte das técnicas de desenvolvimento da Microsoft através da utilização de exemplos de código em diferentes linguagens de programação. Cada exemplo cuidadosamente é seleccionado, composto e documentado para mostrar um cenário comum do código. Para mais informações sobre a estrutura de código tudo-em-um, visite o seguinte Web site da Microsoft:
Como localizar mais amostras de estrutura de código tudo-em-um
Para localizar mais amostras de estrutura de código tudo-em-um, procure "kbcodefx" com palavras-chave relacionadas no Microsoft Web site de suporte. Ou visite o seguinte Web site da Microsoft:
Exclusão de responsabilidade publicação rápida
Empresa da Microsoft e/ou os respectivos fornecedores não fazem nenhuma afirmação sobre a adequação, fiabilidade ou a exactidão das informações e gráficos relacionados contidos no presente regulamento. Todas as informações e gráficos relacionados são fornecidos "tal como está" sem nenhum tipo de garantia. Microsoft e/ou os respectivos fornecedores não oferecem quaisquer garantias ou condições relativamente a estas informações fica e relacionados com gráficos, incluindo todas as garantias e condições implícitas de comercialização, adequação a um fim específico, negligência ou diligência esforço, título e não infracção. Especificamente concorda em que não Microsoft e/ou respectivos fornecedores serão responsáveis por quaisquer prejuízos directos, indirectos, PUNITIVOS, prejuízos especiais, CONSEQUENCIAIS ou quaisquer prejuízos, incluindo, sem limitação, danos por perda de utilização, dados ou lucros, resultantes ou de qualquer forma relacionados com a utilização ou incapacidade de utilizar as informações e gráficos relacionados contidos no presente regulamento, com base no contrato, facto prejudicial, negligência, responsabilidade objectiva ou não, mesmo que tenha sido Microsoft ou qualquer um dos seus fornecedores notificados da possibilidade de ocorrência de prejuízos.