INTRODUCTION
Cet article décrit un exemple de structure de Code tout-en-un qui est disponible au téléchargement. L’exemple de code montre comment développer une application de complément Microsoft OneNote 2010 COM qui implémente l’interface IRibbonExtensibility . L’application de complément prend en charge pour personnaliser le ruban en implémentant l’interface IRibbonExtensibility . Cet exemple de code présente également l’utilisation du modèle d’objet OneNote 2010.
Niveau de difficulté
Informations sur le téléchargement
Pour télécharger cet exemple de code, cliquez sur un des liens suivants :
Vue d’ensemble technique
Créer une application de complément partagée pour OneNote 2010
Étant donné que l’Assistant Complément partagé ne contient pas une option de Microsoft OneNote, pour créer une application de complément partagée pour OneNote 2010, procédez comme suit :
-
Sélectionnez Microsoft Access comme votre hôte de l’application dans l’Assistant Complément partagé.
-
Modifier le Registre du projet d’installation HKCU à la sous-clé de Registre suivante :
[Exemple de complément du ruban HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 »
Hériter de l’interface IDTExtensibility personnalisé le contrôle du ruban pour OneNote
Personnalisé le contrôle du ruban pour OneNote, exécutez le code suivant pour hériter de l’interface IRibbonExtensibility , puis implémentez la méthode GetCustomUI la classe connect :
/// <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; }
Fonctionnalités personnalisées icône et mettre en œuvre des boutons pour le contrôle du ruban
Exécutez le code suivant pour implémenter les méthodes OnGetImage et ShowForm dans le fichier customUI.xml que :
/// <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(); }
Le modèle d’objet OneNote 2010 permet d’obtenir le titre d’une page de OneNote
Ajouter la référence de la bibliothèque d’objets Microsoft OneNote 14.0 et puis définissez la propriété Embed Interop sur 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; }
Catégorie de technologie
Développement Office
Langues
Cet exemple de code est disponible dans les langues de programmation suivantes :
Langue |
Nom du projet |
---|---|
Visual C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
Conditions préalables
Pour exécuter cet exemple de code, vous devez installer les produits suivants :
-
Microsoft Visual Studio 2010
-
De Microsoft Visual Studio Tools pour Microsoft Office System 2010
-
Microsoft OneNote 2010
Balises
-
OneNote 2010 ruban AddIn
-
Complément COM
-
IDTExtensibility
-
Modèle d’objet OneNote 2010
Références
Pour plus d’informations sur les applications de compléments COM pour modifier l’Interface utilisateur, reportez-vous au site Web MSDN suivant :
Pour plus d’informations sur les problèmes de compatibilité pour OneNote 2010 et Visual Studio2010, visitez le site du blog MSDN suivant :
Pour plus d’informations sur la création d’applications complémentaires OneNote 2010 COM, visitez les sites Web Microsoft suivants :
Informations supplémentaires
Quelle est la structure de Code tout-en-un ?
Infrastructure de code tout-en-un affiche la plupart des techniques de développement de Microsoft à l’aide d’exemples de code dans différents langages de programmation. Chaque exemple est soigneusement sélectionné, composé et documentée pour afficher un scénario courant de code. Pour plus d’informations sur l’infrastructure de Code tout-en-un, reportez-vous au site Web de Microsoft suivant :
Comment faire pour rechercher d’autres exemples d’infrastructure de Code tout-en-un
Pour rechercher d’autres exemples d’infrastructure de Code tout-en-un, recherchez « kbcodefx » avec des mots-clés associés sur Microsoft prennent en charge le site Web. Ou bien, visitez le site Web de Microsoft suivant :
Exclusion de responsabilité de publication rapide
Microsoft corporation et/ou ses fournisseurs respectifs ne font aucune déclaration sur la pertinence, de fiabilité ou l’exactitude des informations et des éléments graphiques associés contenus dans le présent document. Toutes ces informations et éléments graphiques associés sont fournis « en l’état » sans garantie d’aucune sorte. Microsoft et/ou ses fournisseurs respectifs est excluent toutes les garanties et conditions relatives à ces informations et les graphiques, y compris toute garantie implicite de qualité marchande, d’adéquation à un usage particulier, en tenant effort, de titre et de non-violation. Vous reconnaissez spécifiquement qu’en aucun cas Microsoft et/ou ses fournisseurs sera responsable de toute responsabilité pour les dommages directe, indirecte, PUNITIF, des dommages spéciaux, indirects ou des dommages quelconques y compris, sans limitation, les dommages pour perte d’utilisation, de données ou les bénéfices, résultant de, ou en aucune façon liés à l’utilisation ou l’impossibilité d’utiliser les informations et les éléments graphiques associés contenus dans le présent document, basé sur le contrat, responsabilité délictuelle, négligence, responsabilité stricte ou non, même si Microsoft ou l’un de ses fournisseurs a été informé de l’éventualité de dommages.