Inleiding
Dit artikel beschrijft een voorbeeld voor de alles-In-één Code Framework dat kan worden gedownload. De code ziet u het ontwikkelen van een Microsoft OneNote 2010 COM-invoegtoepassing-toepassing die de IRibbonExtensibility -interface implementeert. De invoegtoepassing ondersteunt het lint aanpassen door de IRibbonExtensibility -interface implementeren. In deze voorbeeldcode wordt ook het gebruik van het objectmodel van OneNote 2010 geïntroduceerd.
Moeilijkheidsgraad
Informatie over downloaden
Dit codevoorbeeld downloaden, klikt u op een van de volgende koppelingen:
Technisch overzicht
Gedeelde toevoegen in een toepassing maken voor OneNote 2010
Omdat de gedeelde invoegtoepassing Wizard bevat een optie voor het maken van een gedeelde invoegtoepassing toepassing voor OneNote 2010, Microsoft OneNote niet als volgt te werk:
-
Selecteer Microsoft Access als toepassinghost van uw in gedeelde invoegtoepassing Wizard.
-
Het setup-project register HKCU naar de volgende registersubsleutel wijzigen:
[Voorbeeld HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 lint AddIn"
De IDTExtensibility-interface in aangepast het besturingselement lint overnemen voor OneNote
Met aangepaste het besturingselement lint voor OneNote, worden uitgevoerd met de volgende code om de klasse connect de IRibbonExtensibility -interface overneemt en vervolgens de methode GetCustomUI implementeren:
/// <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; }
Aangepaste pictogram en implementeren functies van de knoppen voor het besturingselement lint
Voer de volgende code om de methoden OnGetImage en ShowForm in het bestand customUI.xml implementeren:
/// <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(); }
Gebruik van het objectmodel van OneNote 2010 voor de titel voor een OneNote-pagina
Verwijzing naar de objectbibliotheek van Microsoft OneNote 14.0 toevoegen en vervolgens de eigenschap Insluiten Interop Type ingesteld op 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; }
Technologie-categorie
Office-ontwikkeling
Talen
In dit codevoorbeeld is beschikbaar in de volgende talen:
Taal |
Naam van het project |
---|---|
Visual C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
Vereisten
Als u dit codevoorbeeld uitvoert, moet u de volgende producten:
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio Tools for Microsoft Office 2010
-
Microsoft OneNote 2010
Tags
-
OneNote 2010 lint AddIn
-
COM-invoegtoepassing
-
IDTExtensibility
-
OneNote 2010-objectmodel
Verwijzingen
Ga naar de volgende MSDN-website voor meer informatie over COM-invoegtoepassing-toepassingen voor het wijzigen van de gebruikersinterface:
Ga naar de volgende MSDN-blog voor meer informatie over compatibiliteitsproblemen voor OneNote 2010 en visuele Studio2010:
Ga naar de volgende Microsoft-websites voor meer informatie over het maken van OneNote 2010 COM-invoegtoepassing toepassingen:
Meer informatie
Wat is een alles-In-één Code Framework?
Alles-In-één code Framework bevat de meeste Microsoft-technieken met behulp van codevoorbeelden in verschillende programmeertalen. Elk voorbeeld is zorgvuldig geselecteerd, bestaat en gedocumenteerd om een gemeenschappelijke code scenario weer te geven. Voor meer informatie over alles-In-één Code Framework gaat u naar de volgende Microsoft-website:
Het zoeken naar meer voorbeelden van alles-In-één Code Framework
Ga voor meer voorbeelden van alles-In-één Code Framework ondersteuning zoeken naar "kbcodefx" en verwante trefwoorden op de Microsoft website. Of Ga naar de volgende Microsoft-website:
Snelle publicatie-disclaimer
Microsoft corporation en/of haar respectieve toeleveranciers doen geen toezeggingen over de geschiktheid, betrouwbaarheid of juistheid van de informatie en gerelateerde afbeeldingen die in dit document. Dergelijke informatie en bijbehorende grafische afbeeldingen worden "as is" geleverd zonder enige garantie. Microsoft en/of haar respectieve leveranciers wijzen alle garanties en voorwaarden met betrekking tot deze informatie, en afbeeldingen, met inbegrip van alle impliciete garanties en voorwaarden van verkoopbaarheid, geschiktheid voor een bepaald doel, VAKBEKWAME met betrekking inspanning, titel en niet-inbreuk. U stemt er uitdrukkelijk mee dat in geen geval Microsoft en/of haar leveranciers aansprakelijk voor enige directe, indirecte, GEVOLGSCHADE, incidentele, speciale, GEVOLGSCHADE schade of schade inclusief, zonder beperking, schade wegens verlies van gebruik, gegevens of winst, die voortvloeit uit of op enigerlei wijze in verband met het gebruik van of het niet kunnen gebruiken van de informatie en gerelateerde afbeeldingen hierin, of op basis van contract, onrechtmatige daad, nalatigheid, strikte aansprakelijkheid of anderszins, zelfs als Microsoft of enige van haar leveranciers is op de hoogte van de mogelijkheid van schade.