Partager via


Rapides interfaces boîte de dialogue remplissage (OneNote 2013)

Cette rubrique décrit les interfaces que vous pouvez utiliser pour personnaliser par programme la boîte de dialogue classement rapide dans OneNote 2013.

Boîte de dialogue Classement rapide

La boîte de dialogue classement rapide dans OneNote 2013 est une boîte de dialogue personnalisable qui permet aux utilisateurs de sélectionner un emplacement au sein de la structure de la hiérarchie OneNote. Emplacements sélectionnables incluent les ordinateurs portables, les groupes de sections, sections, pages et des sous-pages. La boîte de dialogue est utilisée au sein de l'application OneNote et par des applications externes par le biais de l'API OneNote 2013. La figure 1 montre la boîte de dialogue classement rapide dans son état par défaut.

Figure 1. Boîte de dialogue Remplissage rapide sans personnalisations

Boîte de dialogue Classement rapide sans personnalisation Boîte

Dans la boîte de dialogue, les utilisateurs peuvent parcourir la hiérarchie de tous les ordinateurs portables pour rechercher les emplacements spécifiques ou rechercher dans la structure d'arborescence OneNote en tapant dans la zone de texte. Aspects de la boîte de dialogue qui peuvent être personnalisés incluent le titre, description, récente liste des résultats, texte de la case à cocher État, profondeur de l'arborescence, boutons et des types d'emplacements sélectionnable.

Vous pouvez accéder à la fonctionnalité de boîte de dialogue classement rapide via deux interfaces OneNote 2013. L'interface IQuickFilingDialog permet aux utilisateurs d'instancier, configurer et exécuter la boîte de dialogue. L'interface IQuickFilingDialogCallback est appelé après la fermeture de la boîte de dialogue. La boîte de dialogue est exécutée dans le processus de OneNote, un mécanisme n'est nécessaire pour conserver un thread de la boîte de dialogue en cours d'exécution, puis pour capturer la sélection de l'utilisateur et l'état de la boîte de dialogue lors de sa fermeture.

Interface IQuickFilingDialog

Cette interface autorise l'utilisateur à personnaliser et exécuter la boîte de dialogue. L'utilisateur peut instancier une boîte de dialogue par le biais de la classe Application à l'aide de la méthode Application.QuickFilingDialog. La méthode retourne une instance de la boîte de dialogue. Une fois que les propriétés de la boîte de dialogue sont définies, la méthode IQuickFilingDialog.Run est utilisée pour exécuter la boîte de dialogue. Cette méthode exécute la boîte de dialogue sur un nouveau thread.

Propriétés

Name Type Description
Title
string
Obtient ou définit le texte du titre qui s'affiche dans la barre de titre de la fenêtre de boîte de dialogue.
Description
string
Obtient ou définit la description de texte pour indiquer à l'utilisateur sur les éléments à sélectionner. Cette valeur peut être texte multiligne.
CheckboxText
string
Obtient ou définit le texte qui suit la case à cocher. Si cette valeur est définie sur une chaîne non vide, une case à cocher apparaît dans la boîte de dialogue. Si la valeur est une chaîne vide, aucune case à cocher s'affiche.
État de la case à cocher
bool
Obtient ou définit l'état de la case à cocher. Si la valeur est définie sur false, la case à cocher est désactivée au démarrage de la boîte de dialogue. Si la valeur est définie sur true, la case à cocher est activée lorsque la boîte de dialogue est démarrée en tant que CheckboxText est une chaîne vide.
WindowHandle
ulong
Obtient l'ID de handle de la fenêtre de boîte de dialogue classement rapide.
TreeDepth
HierarchyElement
Obtient ou définit la profondeur l'arborescence OneNote doit être affiché dans la section tous les ordinateurs portables. Par défaut, l'arborescence est affichée aux sections. Cette propriété n'affecte pas le type d'éléments peut être sélectionné. Si TreeDepth est défini sur un élément plus bas dans la hiérarchie OneNote que peuvent être sélectionnés par un des boutons, la profondeur de l'arborescence affichée sera l'élément sélectionnable possible la plus faible. En d'autres termes, si la profondeur de l'arborescence est définie à afficher aux pages, mais l'élément sélectionnable le plus bas est une section, l'arborescence est affichée aux sections.
ParentWindowHandle
ulong
Obtient ou définit l'ID du handle de la fenêtre parente de la boîte de dialogue. Si cette propriété est définie, la boîte de dialogue classement rapide sera modale par rapport à la fenêtre parent affecté lorsque la boîte de dialogue s'ouvre. En d'autres termes, un utilisateur ne sera pas en mesure d'accéder à la fenêtre parent jusqu'à la fermeture de la boîte de dialogue classement rapide.
Position
tagPOINT
Obtient ou définit la position de la fenêtre par rapport à l'écran. Par défaut, la boîte de dialogue s'affiche au milieu de la fenêtre parent ou le bureau.
SelectedItem
string
Obtient l'ID d'objet de l'emplacement de OneNote sélectionnée par l'utilisateur lors de la fermeture de la boîte de dialogue. Si l'utilisateur clique sur le bouton Annuler, l'objet est définie sur null.
PressedButton
ulong
Obtient quel bouton a été utilisé lors de la fermeture de la boîte de dialogue. Si l'utilisateur a cliqué sur le bouton Annuler, cette propriété renvoie la valeur -1. Tous les autres boutons sont affectées des valeurs entières à partir de 0, est incrémentée de 1 pour chaque bouton ajouté à la boîte de dialogue. La valeur entière du bouton OK par défaut est 0.

Méthodes

SetRecentResults

Valeur Description
Description
Définit quelle liste résultats récents s'affichera dans la boîte de dialogue classement rapide et indique s'il faut inclure certains emplacements spéciaux classement dans la liste. Les utilisateurs peuvent sélectionner une liste de résultats récents à partir de l'énumération RecentResultType . Les utilisateurs peuvent également choisir d'ajouter les options suivantes à la liste : Section en cours, Page en cours ou Notes non classées. Si RecentResultType.rrtNone est sélectionné, aucune liste de résultats récents n'est indiqué.
Syntaxe
HRESULT SetRecentResults (
[in]RecentResultType recentResults,
[in]VARIANT_BOOL fShowCurrentSection,
[in]VARIANT_BOOL fShowCurrentPage,
[in]VARIANT_BOOL fShowUnfiledNotes);
Paramètres
recentResults : objet de type RecentResultType qui indique quelle liste de résultats récents, le cas échéant, doit apparaître. Si rrtNone est sélectionné, aucune liste de résultats récents n'apparaît dans la boîte de dialogue.

fShowCurrentSection : valeur booléenne qui indique si la section actuelle doit être incluse dans la liste des résultats récents.

fShowCurrentPage : valeur booléenne qui indique si la page active doit être incluse dans la liste des résultats récents.

fShowUnfiledNotes : valeur booléenne qui indique si la section Notes non classées doit être incluse dans la liste des résultats récents.

Remarque

[!REMARQUE] Si un emplacement de la classification spéciaux ne peuvent pas être sélectionné à l'aide d'un des boutons dans la boîte de dialogue, il n'est pas affiché dans la liste. Si aucun élément sélectionnable dans la liste des résultats récents n'est trouvée, aucune liste de résultats récents ne s'affiche.

L'exemple suivant utilise la méthode SetRecentResults pour afficher la section en cours, page en cours et la section Notes non classées dans la liste de résultats récents.

        static void Main(string[] args)
        {
            Microsoft.Office.Interop.OneNote.Application app = 
                new Microsoft.Office.Interop.OneNote.Application();
            ... 
            // RECENT RESULTS
            qfDialog.SetRecentResults(RecentResultType.rrtFiling,
                /*Current Section*/ true,
                /*Current Page*/ true,
                /*Unfiled Notes*/ true);
            ...
        }

Controlcollection.addbutton

Valeur Description
Description
Permet aux utilisateurs d'ajouter et personnaliser des boutons dans la boîte de dialogue. Les utilisateurs peuvent spécifier le texte sur les boutons et les éléments de la hiérarchie de OneNote peuvent être sélectionnés par chaque bouton.
Syntaxe
HRESULT AddButton (
[in]BSTR bstrText,
[in]HierarchyElement allowedElements,
[in]HierarchyElement allowedReadOnlyElements,
[in]VARIANT_BOOL fDefault);
Paramètres
bstrText : chaîne qui spécifie le texte à afficher sur le bouton. Pour personnaliser le bouton OK par défaut, passez une valeur null en tant que bstrText.
allowedElements : élément HierarchyElement qui indique les éléments de hiérarchie OneNote non en lecture seule qu’un utilisateur est autorisé à sélectionner à l’aide du bouton. Pour sélectionner plusieurs éléments, l'utilisateur doit passer l'opérateur OR pour toutes les valeurs d'équivalente uint des types HierarchyElement autorisés comme un HierarchyElement.

allowedReadOnlyElements : hierarchyElement qui indique les éléments de hiérarchie oneNote en lecture seule qu’un utilisateur est autorisé à sélectionner à l’aide du bouton. Pour sélectionner plusieurs éléments, l'utilisateur doit passer l'opérateur OR pour toutes les valeurs d'équivalents uint des types HierarchyElement autorisés comme un HierarchyElement.

fDefault : valeur booléenne qui spécifie si ce bouton doit être le bouton par défaut. Si plusieurs boutons sont définis en tant que valeur par défaut, le bouton dernier spécifié devienne le bouton par défaut.

L'exemple suivant ajoute trois boutons à la boîte de dialogue classement rapide. La première condition, ensemble, peut être sélectionnée par tous les éléments dans l'arborescence de la hiérarchie OneNote. Les autres, les ordinateurs portables et les Pages, peuvent être sélectionnés uniquement si leurs éléments correspondants, les ordinateurs portables et les Pages, sont sélectionnés.

        static void Main(string[] args)
        {
            Microsoft.Office.Interop.OneNote.Application app = 
                new Microsoft.Office.Interop.OneNote.Application();
            ... 
            
            // BUTTONS
            HierarchyElement heAll = (HierarchyElement) 
                ((uint)HierarchyElement.heNotebooks | 
                (uint)HierarchyElement.heSectionGroups | 
                (uint)HierarchyElement.heSections |  
                (uint)HierarchyElement.hePages);
            
            qfDialog.AddButton("All", heAll, heAll, true);
            qfDialog.AddButton("Notebooks", HierarchyElement.heNotebooks, 
                HierarchyElement.heNotebooks, false);
            qfDialog.AddButton("Pages", HierarchyElement.hePages, 
                HierarchyElement.hePages, false);
            ... 
        }

Run

Valeur Description
Description
Affiche la boîte de dialogue classement rapide à partir d'un thread. Elle accepte une référence à l'interface IQuickFilingDialogCallback, dont la méthode OnDialogClosed sera appelée une fois que la boîte de dialogue se ferme.
Syntaxe
HRESULT Run (
[in]IQuickFilingDialogCallback piCallback);
Paramètres
piCallback : référence à l’interface IQuickFilingDialogCallback qui sera instanciée une fois la boîte de dialogue fermée.

L'exemple suivant utilise la méthode Run pour afficher la boîte de dialogue classement rapide à partir d'un thread.

    class OpenQuickFilingDialog
    {
            ... 
        static void Main(string[] args)
        {
            Microsoft.Office.Interop.OneNote.Application app = 
                new Microsoft.Office.Interop.OneNote.Application();
            ... 
            // Display Quick Filing UI
            qfDialog.Run(new Callback());
            ... 
        }
    }

TreeCollapsedState

Valeur Description
Description
Indique si l'arborescence de la hiérarchie doit être développé ou réduit.
Syntaxe
HRESULT TreeCollapsedState(
[in] TreeCollapsedStateType tcs);
Paramètres
tcs - Spécifie si l'arborescence est développée ou réduite.

NotebookFilterOut

Valeur Description
Description
Filtre la liste des ordinateurs portables indiqué par type.
Syntaxe
HRESULT NotebookFilterOut(
[in] NotebookFilterOutType nfo);
Paramètres
nfo - Spécifie l'ensemble des ordinateurs portables qui doivent être filtrées en dehors de la liste

ShowCreateNewNotebook

Valeur Description
Description
Affiche l'option créer un nouveau bloc-notes dans la boîte de dialogue.
Syntaxe
HRESULT ShowCreateNewNotebook ();
Paramètres
Aucune

AddInitialEditor

Valeur Description
Description
Ajoute un utilisateur comme un éditeur initial dans un bloc-notes dans la boîte de dialogue classement rapide.
Syntaxe
HRESULT AddInitialEditor (BSTR initialEditor);
Paramètres
initialEditor - adresse de messagerie de l'utilisateur que vous souhaitez ajouter en tant qu'éditeur dans le bloc-notes. Lorsque l'ordinateur portable est créé par le biais de la boîte de dialogue classement rapide, il est automatiquement partagé avec tous les éditeurs initiale.

ClearInitialEditors

Valeur Description
Description
Supprime tous les éditeurs initiales de la boîte de dialogue classement rapide.
Syntaxe
HRESULT ClearInitialEditors ();
Paramètres
Aucun

ShowSharingHyperlink

Valeur Description
Description
Afficher le lien hypertexte dans l'aide de partage dans la boîte de dialogue classement rapide.
Syntaxe
HRESULT ShowSharingHyperlink();
Paramètres
Aucun

Interface IQuickFilingDialogCallback

Cette interface autorise l'utilisateur à accéder à la boîte de dialogue Propriétés après la fermeture de la boîte de dialogue. Une fois que la boîte de dialogue se ferme, OneNote 2013 appelle la méthode IQuickFilingDialogCallback.OnDialogClose dans cette interface.

Une classe qui hérite de cette interface doit être défini.

Méthodes

La section suivante décrit les méthodes associées aux interfaces détaillées précédemment.

OnDialogClosed

Valeur Description
Description
Permet aux utilisateurs d'ajouter des fonctionnalités permettant de capturer et utiliser la sélection de l'utilisateur à partir de la boîte de dialogue. Cette méthode est appelée après la fermeture de la boîte de dialogue classement rapide. Cette méthode est une fonction dont les interfaces IQuickFilingDialogCallback à définir.
Syntaxe
HRESULT OnDialogClosed (
[in]IQuickFilingDialog dialog);
Paramètres
dialog : objet IQuickFilingDialog qui a appelé la méthode OnDialogClose .

L'exemple suivant est un exemple d'interface IQuickFilingDialogCallback. La méthode OnDialogClose imprime la sélection de l'utilisateur à partir de la boîte de dialogue classement rapide sur la console.

    class Callback : IQuickFilingDialogCallback
    {
        public Callback(){}
        public void OnDialogClosed(IQuickFilingDialog qfDialog)
        {
            Console.WriteLine(qfDialog.SelectedItem);
            Console.WriteLine(qfDialog.PressedButton);
            Console.WriteLine(qfDialog.CheckboxState);
        }
    }

Exemple

L'exemple de code suivant ouvre une boîte de dialogue classement rapide qui a un titre personnalisé, description, liste des derniers résultats, profondeur de l'arborescence, case à cocher et les boutons. L'utilisateur de l'élément, vous appuyez sur le bouton sélectionné et état de la case à cocher s'affiche dans une fenêtre de console lorsque la boîte de dialogue est fermée. Pour afficher le bouton de page activé, l'utilisateur aura rechercher une page et sélectionnez-le, car la profondeur de l'arborescence est fixée aux sections. La boîte de dialogue n'est pas un enfant de n'importe quelle fenêtre.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using Microsoft.Office.Interop.OneNote;
namespace SampleQFD
{
    class OpenQuickFilingDialog
    {
        private static EventWaitHandle wh = new AutoResetEvent(false);
        private static IQuickFilingDialog qfDialog;
        private static String strTitle = "Sample Title";
        private static String strDescription = "Sample Description";
        private static String strCheckboxText = "Sample Checkbox";
        static void Main(string[] args)
        {
            Microsoft.Office.Interop.OneNote.Application app = 
                new Microsoft.Office.Interop.OneNote.Application();
            // Instantiate Quick Filing UI
            qfDialog = app.QuickFiling();
            #region//SET API PARAMETERS
            // TITLE
            qfDialog.Title = strTitle;
            // DESCRIPTION
            qfDialog.Description = strDescription;
            // RECENT RESULTS
            qfDialog.SetRecentResults(RecentResultType.rrtFiling,
                /*Current Section*/ true,
                /*Current Page*/ true,
                /*Unfiled Notes*/ true);
            // TREE DEPTH
            qfDialog.TreeDepth = HierarchyElement.heSections;
            // CHECKBOX
            qfDialog.CheckboxText = strCheckboxText;
            qfDialog.CheckboxState = false;
            // BUTTONS
            HierarchyElement heAll = (HierarchyElement) 
                ((uint)HierarchyElement.heNotebooks | 
                (uint)HierarchyElement.heSectionGroups | 
                (uint)HierarchyElement.heSections |  
                (uint)HierarchyElement.hePages);
            
            qfDialog.AddButton("All", heAll, heAll, true);
            qfDialog.AddButton("Notebooks", HierarchyElement.heNotebooks, 
                HierarchyElement.heNotebooks, false);
            qfDialog.AddButton("Pages", HierarchyElement.hePages, 
                HierarchyElement.hePages, false);
            // PARENTWINDOW
            #endregion
            // Display Quick Filing UI
            qfDialog.Run(new Callback());
            // Clean up and Wait so console window does not close
            qfDialog = null;
            wh.WaitOne();
        }
    }
    class Callback : IQuickFilingDialogCallback
    {
        public Callback(){}
        public void OnDialogClosed(IQuickFilingDialog qfDialog)
        {
            Console.WriteLine(qfDialog.SelectedItem);
            Console.WriteLine(qfDialog.PressedButton);
            Console.WriteLine(qfDialog.CheckboxState);
        }
    }
}

Voir aussi