Hur du utvecklar ett OneNote 2010 menyfliksområdet tillägget program


Introduktion


I artikeln beskrivs ett prov för allt-i-ett ramverk för kod som är tillgänglig för hämtning. Kodexemplet visar hur du utvecklar ett Microsoft OneNote 2010 COM-tillägg program som implementerar gränssnittet IRibbonExtensibility . Programmet stöder att anpassa menyfliksområdet genom att implementera gränssnittet IRibbonExtensibility . Detta kodexempel beskrivs även hur du använder OneNote 2010-objektmodellen.

Svårighetsgrad

Information om hämtning

Klicka på någon av följande länkar om du vill hämta detta kodexempel:

Teknisk översikt

Skapa en delad tillägget program för OneNote 2010

Eftersom delade tillägget guiden inte innehåller ett alternativ för Microsoft OneNote, skapa en delad tillägget program för OneNote 2010 gör du följande:
  1. Välj Microsoft Access som programvärd för delad Lägg till iguiden.
  2. Ändra inställningar projekt registret HKCU till följande registerundernyckel:
    [HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 menyfliksområdet tillägg Sample”

Ärva gränssnittet IDTExtensibility till anpassade menyfliksområdet kontroll för OneNote

Till anpassade menyfliksområdet kontroll för OneNote kör följande kod för att ansluta klassen ärver IRibbonExtensibility gränssnitt och implementera metoden 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;        }

Anpassad ikon och implementera funktioner knappar för menyfliksområdet

Kör följande kod för att implementera metoderna OnGetImage och ShowForm i filen 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();        }

Använda OneNote 2010-objektmodellen för att få rubriken för en sida i OneNote

Lägga till objektbiblioteket för Microsoft OneNote 14,0 referens och sedan Bädda in Interop-typ egenskapen värdet Falskt:
/// <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;        }

Kategori teknik

Office-utveckling

Språk

Detta kodexempel är tillgänglig i följande programmeringsspråk:
SpråkNamn på projekt
Visual C#COneNoteRibbonAddIn
Visual Basic.NETVBOneNoteRibbonAddIn

Förutsättningar

Om du vill köra detta kodexempel, måste du installera följande produkter:
  • Microsoft Visual Studio 2010
  • Microsoft Visual Studio Tools for Microsoft Office 2010
  • Microsoft OneNote 2010

Taggar

  • OneNote 2010 menyfliksområdet-tillägg
  • COM-tillägg
  • IDTExtensibility
  • OneNote 2010-objektmodellen

Referenser

Mer information om COM-tillägget program att ändra användargränssnittet finns på följande MSDN-webbplats: Mer information om kompatibilitetsproblem för OneNote 2010 och Visual Studio2010 finns på följande MSDN-blogg: Mer information om hur du skapar OneNote 2010 COM-tillägg program finns på följande Microsoft-webbplatser:

Mer information


Vad är en allt-i-ett ramverk för kod?

Allt-i-ett ramverk för kod visar utvecklingstekniker för de flesta Microsoft med hjälp av kodexemplen i olika programmeringsspråk. Varje exempel är noggrant valt består och dokumenterats om du vill visa ett vanligt scenario för koden. Mer information om allt-i-ett ramverk för kod finns på följande Microsoft-webbplats:

Hur du hittar fler allt-i-ett ramverk för kod prover

Om du vill hitta mer allt-i-ett ramverk för kod prover, Sök efter ”kbcodefx” tillsammans med relaterade nyckelord på Microsofts webbplats för support. Eller besök följande Microsoft-webbplats:
Ansvarsfriskrivning för snabb publicering
Microsoft corporation och/eller dess respektive leverantörer gör inga utsagor om lämpligheten, tillförlitlighet eller riktigheten av den information och relaterad grafik som finns häri. Sådan information och relaterad grafik tillhandahålls ”i befintligt skick” utan några garantier. Microsoft eller dess respektive leverantörer frånsäger sig alla garantier och villkor med hänsyn till denna information härmed och relaterad grafik, inklusive alla underförstådda garantier och villkor för säljbarhet, lämplighet för ett särskilt ändamål, workmanlike insats, titel och icke-intrång. Du samtycker uttryckligen att under inga omständigheter skall Microsoft eller dess leverantörer vara ansvariga för några direkta, indirekta, följdskador, oförutsedda skador, speciella, därav följande skador eller skador inklusive, utan begränsning, skadestånd för förlust av användning, data eller vinst, som uppstår ur eller på något sätt i samband med användning av eller oförmåga att använda information och relaterad grafik som finns häri, vare sig baserat på kontrakt, skadeståndsansvar, försummelse, strikt ansvar eller på annat sätt, även om Microsoft eller någon av dess leverantörer har informerats om risken för skador.