Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describen las interfaces que puede usar para personalizar mediante programación el cuadro de diálogo Archivo rápido en OneNote 2013.
Cuadro de diálogo Archivo rápido
El cuadro de diálogo Archivo rápido de OneNote 2013 es un cuadro de diálogo personalizable que permite a los usuarios seleccionar una ubicación dentro de la estructura de jerarquía de OneNote. Las ubicaciones seleccionables incluyen cuadernos, grupos de secciones, secciones, páginas y subpáginas. El cuadro de diálogo se usa tanto en la aplicación OneNote como en aplicaciones externas a través de la API de OneNote 2013. La figura 1 muestra el cuadro de diálogo Archivo rápido en su estado predeterminado.
Figura 1. Cuadro de diálogo de relleno rápido sin personalizaciones
En el cuadro de diálogo, los usuarios pueden navegar por la jerarquía Todos los cuadernos para buscar ubicaciones específicas o buscar en la estructura de árbol de OneNote escribiendo en el cuadro de texto. Entre los aspectos del cuadro de diálogo que se pueden personalizar se incluyen el título, la descripción, la lista de resultados recientes, el texto y el estado de la casilla, la profundidad del árbol, los botones y los tipos de ubicación seleccionables.
Puede acceder a la funcionalidad del cuadro de diálogo Archivo rápido a través de dos interfaces de OneNote 2013. La interfaz IQuickFilingDialog permite a los usuarios crear instancias, configurar y ejecutar el cuadro de diálogo. Se llama a la interfaz IQuickFilingDialogCallback después de cerrar el cuadro de diálogo. El cuadro de diálogo se ejecuta en el proceso de OneNote, por lo que se necesita un mecanismo para mantener el subproceso del cuadro de diálogo en ejecución y, a continuación, para capturar la selección del usuario y el estado del cuadro de diálogo cuando se cierra.
IQuickFilingDialog (interfaz)
Esta interfaz permite al usuario personalizar y ejecutar el cuadro de diálogo. El usuario puede crear una instancia de un cuadro de diálogo a través de la clase Application mediante el método Application.QuickFilingDialog . El método devuelve una instancia del cuadro de diálogo. Una vez establecidas las propiedades del cuadro de diálogo, se usa el método IQuickFilingDialog.Run para ejecutar el cuadro de diálogo. Este método ejecuta el cuadro de diálogo en un subproceso nuevo.
Propiedades
| Name | Tipo | Descripción |
|---|---|---|
|
Title |
string |
Obtiene o establece el texto del título que aparece en la barra de título de la ventana del cuadro de diálogo. |
|
Descripción |
string |
Obtiene o establece la descripción del texto para indicar al usuario qué seleccionar. Este valor puede ser texto de varias líneas. |
|
CheckboxText |
string |
Obtiene o establece el texto que sigue a la casilla. Si este valor se establece en una cadena no vacía, aparecerá una casilla en el cuadro de diálogo. Si el valor es una cadena vacía, no aparece ninguna casilla. |
|
CheckboxState |
bool |
Obtiene o establece el estado de la casilla. Si el valor está establecido en false, la casilla se desactiva cuando se inicia el cuadro de diálogo. Si el valor está establecido en true, la casilla de verificación se activa cuando se inicia el cuadro de diálogo siempre y cuando CheckboxText sea una cadena no vacía. |
|
WindowHandle |
Ulong |
Obtiene el identificador de identificador de la ventana del cuadro de diálogo Archivo rápido. |
|
TreeDepth |
HierarchyElement |
Obtiene o establece la profundidad con la que se debe mostrar el árbol de OneNote en la sección Todos los cuadernos. De forma predeterminada, el árbol se muestra hasta las secciones. Esta propiedad no afecta al tipo de elementos que se pueden seleccionar. Si TreeDepth se establece en un elemento inferior en la jerarquía de OneNote que puede seleccionar cualquiera de los botones, la profundidad del árbol mostrada será el elemento seleccionable más bajo posible. Es decir, si la profundidad del árbol está establecida para mostrarse en páginas, pero el elemento seleccionable más bajo es una sección, el árbol se muestra en secciones. |
|
ParentWindowHandle |
Ulong |
Obtiene o establece el identificador de identificador de la ventana primaria del cuadro de diálogo. Si se establece esta propiedad, el cuadro de diálogo Archivo rápido será modal a la ventana primaria asignada cuando se abra el cuadro de diálogo. Es decir, un usuario no podrá acceder a la ventana primaria hasta que se cierre el cuadro de diálogo Archivo rápido. |
|
Position |
tagPOINT |
Obtiene o establece la posición de la ventana en relación con la pantalla. De forma predeterminada, el cuadro de diálogo aparece en medio de la ventana primaria o del escritorio. |
|
SelectedItem |
string |
Obtiene el identificador de objeto de la ubicación de OneNote seleccionada por el usuario cuando se cierra el cuadro de diálogo. Si el usuario hace clic en el botón Cancelar , el objeto se establece en null. |
|
PressedButton |
Ulong |
Obtiene el botón en el que se hizo clic cuando se cerró el cuadro de diálogo. Si se ha hecho clic en el botón Cancelar , esta propiedad devuelve un valor de -1. A todos los demás botones se les asignan valores enteros de 0, incrementados en 1 por cada botón agregado al cuadro de diálogo. El valor entero del botón Aceptar predeterminado es 0. |
Métodos
SetRecentResults
| Valor | Descripción |
|---|---|
|
Descripción |
Establece qué lista de resultados recientes se mostrará en el cuadro de diálogo Archivo rápido e indica si se deben incluir algunas ubicaciones de presentación especiales en la lista. Los usuarios pueden seleccionar una lista de resultados reciente de la enumeración RecentResultType . Los usuarios también pueden elegir agregar las siguientes opciones a la lista: Sección actual, Página actual o Notas sin archivo. Si se selecciona RecentResultType.rrtNone , no se muestra ninguna lista de resultados recientes. |
|
Sintaxis |
HRESULT SetRecentResults ([in]RecentResultType recentResults,[in]VARIANT_BOOL fShowCurrentSection,[in]VARIANT_BOOL fShowCurrentPage,[in]VARIANT_BOOL fShowUnfiledNotes); |
|
Parámetros |
recentResults : objeto de tipo RecentResultType que indica qué lista de resultados recientes, si existe, debe aparecer. Si se selecciona rrtNone , no aparece ninguna lista de resultados recientes en el cuadro de diálogo. fShowCurrentSection : valor booleano que indica si la sección actual debe incluirse en la lista de resultados recientes. fShowCurrentPage : valor booleano que indica si la página actual debe incluirse en la lista de resultados recientes. fShowUnfiledNotes : valor booleano que indica si la sección Notas sin archivo debe incluirse en la lista de resultados reciente. |
Nota:
Si no se puede seleccionar una ubicación de presentación especial mediante cualquiera de los botones del cuadro de diálogo, no se muestra en la lista. Si no se encuentra ningún elemento seleccionable en la lista de resultados recientes, no se muestra ninguna lista de resultados recientes.
En el ejemplo siguiente se usa el método SetRecentResults para mostrar la sección actual, la página actual y la sección Notas sin archivo de la lista de resultados reciente.
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);
...
}
AddButton
| Valor | Descripción |
|---|---|
|
Descripción |
Permite a los usuarios agregar y personalizar botones en el cuadro de diálogo. Los usuarios pueden especificar el texto en los botones y qué elementos de la jerarquía de OneNote se pueden seleccionar mediante cada botón. |
|
Sintaxis |
HRESULT AddButton ([in]BSTR bstrText,[in]HierarchyElement allowedElements,[in]HierarchyElement allowedReadOnlyElements,[in]VARIANT_BOOL fDefault); |
|
Parámetros |
bstrText : cadena que especifica el texto que se va a mostrar en el botón. Para personalizar el botón Aceptar predeterminado, pase un valor NULL como bstrText. allowedElements : un elemento HierarchyElement que indica qué elementos de jerarquía de OneNote que no son de solo lectura que un usuario puede seleccionar mediante el botón . Para seleccionar varios elementos, el usuario debe pasar el operador OR para todos los valores equivalentes uint de los tipos HierarchyElement permitidos como HierarchyElement. allowedReadOnlyElements : un hierarchyelement que indica qué elementos de jerarquía de solo lectura de OneNote puede seleccionar un usuario mediante el botón . Para seleccionar varios elementos, el usuario debe pasar el operador OR para todos los valores equivalentes uint de los tipos HierarchyElement permitidos como HierarchyElement. fDefault : valor booleano que especifica si este botón debe ser el botón predeterminado. Si se establecen varios botones como predeterminados, el último botón especificado se convierte en el botón predeterminado. |
En el ejemplo siguiente se agregan tres botones al cuadro de diálogo Archivo rápido. Todos los elementos del árbol de jerarquía de OneNote pueden seleccionar el primero, Todos. Los demás, Cuadernos y Páginas, solo se pueden seleccionar si se seleccionan sus elementos correspondientes, Cuadernos y Páginas.
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
| Valor | Descripción |
|---|---|
|
Descripción |
Muestra el cuadro de diálogo Archivo rápido de un nuevo subproceso. Toma una referencia a la interfaz IQuickFilingDialogCallback , a la que se llamará al método OnDialogClosed una vez que se cierre el cuadro de diálogo. |
|
Sintaxis |
HRESULT Run ([in]IQuickFilingDialogCallback piCallback); |
|
Parámetros |
piCallback : referencia a la interfaz IQuickFilingDialogCallback que se creará una instancia una vez que se cierre el cuadro de diálogo. |
En el ejemplo siguiente se usa el método Run para mostrar el cuadro de diálogo Archivo rápido de un nuevo subproceso.
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
| Valor | Descripción |
|---|---|
|
Descripción |
Indica si el árbol de jerarquía debe expandirse o contraerse. |
|
Sintaxis |
HRESULT TreeCollapsedState([in] TreeCollapsedStateType tcs); |
|
Parámetros |
tcs : especifica si el árbol está expandido o contraído. |
NotebookFilterOut
| Valor | Descripción |
|---|---|
|
Descripción |
Filtra la lista de cuadernos que se muestran por tipo. |
|
Sintaxis |
HRESULT NotebookFilterOut([in] NotebookFilterOutType nfo); |
|
Parámetros |
nfo : especifica el conjunto de cuadernos que se van a filtrar fuera de la lista. |
ShowCreateNewNotebook
| Valor | Descripción |
|---|---|
|
Descripción |
Muestra la opción crear nuevo cuaderno en el cuadro de diálogo. |
|
Sintaxis |
HRESULT ShowCreateNewNotebook (); |
|
Parámetros |
Ninguno |
AddInitialEditor
| Valor | Descripción |
|---|---|
|
Descripción |
Agrega un usuario como editor inicial a un cuaderno en el cuadro de diálogo Archivo rápido. |
|
Sintaxis |
HRESULT AddInitialEditor (BSTR initialEditor); |
|
Parámetros |
initialEditor : la dirección de correo electrónico del usuario que desea agregar como editor al cuaderno. Cuando el cuaderno se crea a través del cuadro de diálogo Archivo rápido, se comparte automáticamente con todos los editores iniciales. |
ClearInitialEditors
| Valor | Descripción |
|---|---|
|
Descripción |
Quita todos los editores iniciales del cuadro de diálogo Archivo rápido. |
|
Sintaxis |
HRESULT ClearInitialEditors (); |
|
Parámetros |
Ninguno |
ShowSharingHyperlink
| Valor | Descripción |
|---|---|
|
Descripción |
Muestra el hipervínculo del tema de ayuda para compartir en el cuadro de diálogo Archivo rápido. |
|
Sintaxis |
HRESULT ShowSharingHyperlink(); |
|
Parámetros |
Ninguno |
IQuickFilingDialogCallback (interfaz)
Esta interfaz permite al usuario acceder a las propiedades del cuadro de diálogo después de que se cierre el cuadro de diálogo. Una vez que se cierra el cuadro de diálogo, OneNote 2013 llama al método IQuickFilingDialogCallback.OnDialogClose en esta interfaz.
Debe definirse una clase que herede esta interfaz.
Métodos
En la sección siguiente se describen los métodos asociados a las interfaces detalladas anteriormente.
OnDialogClosed
| Valor | Descripción |
|---|---|
|
Descripción |
Permite a los usuarios agregar funcionalidad para capturar y usar la selección de usuario del cuadro de diálogo. Se llama a este método después de cerrar el cuadro de diálogo Archivo rápido. Este método es una función que las interfaces IQuickFilingDialogCallback tienen que definir. |
|
Sintaxis |
HRESULT OnDialogClosed ([in]IQuickFilingDialog dialog); |
|
Parámetros |
dialog : objeto IQuickFilingDialog que llamó al método OnDialogClose . |
El ejemplo siguiente es una interfaz IQuickFilingDialogCallback de ejemplo. El método OnDialogClose imprime la selección del usuario del cuadro de diálogo Archivo rápido en la consola.
class Callback : IQuickFilingDialogCallback
{
public Callback(){}
public void OnDialogClosed(IQuickFilingDialog qfDialog)
{
Console.WriteLine(qfDialog.SelectedItem);
Console.WriteLine(qfDialog.PressedButton);
Console.WriteLine(qfDialog.CheckboxState);
}
}
Ejemplo
En el ejemplo de código siguiente se abre un cuadro de diálogo De archivo rápido que tiene un título, una descripción, una lista de resultados recientes, una profundidad de árbol, una casilla de verificación y botones personalizados. El elemento seleccionado del usuario, el botón presionado y el estado de la casilla se mostrarán en una ventana de consola cuando se cierre el cuadro de diálogo. Para ver el botón de página habilitado, el usuario tendrá que buscar una página y seleccionarla, ya que la profundidad del árbol se establece en secciones. El cuadro de diálogo no es un elemento secundario de ninguna ventana.
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);
}
}
}