HtmlTaskPane.HtmlDocument (Propiedad)

Obtiene una referencia a la interfaz IHTMLDocument2 de MSHTML para trabajar con el modelo de objetos de documentos HTML de un panel de tareas personalizado.

Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)

Sintaxis

Public MustOverride ReadOnly Property HtmlDocument As Object

Dim instance As HtmlTaskPane
Dim value As Object

value = instance.HtmlDocument
public abstract Object HtmlDocument { get; }

Valor de propiedad

Objeto IHTMLDocument2 asociado al archivo HTML del panel de tareas personalizado.

Comentarios

Utilizando la propiedad HtmlDocument puede llamar a las funciones de secuencias de comandos contenidas en el código HTML del panel de tareas mediante el enlace en tiempo de ejecución, como en el segundo ejemplo que aparece a continuación. También puede manipular directamente dicho código mediante cualquiera de las propiedades y los métodos que proporciona la interfaz IHTMLDocument2.

Para trabajar con el objeto IHTMLDocument2 devuelto por la propiedad HtmlDocument, debe agregar una referencia a Microsoft.mshtml en la ficha .NET del cuadro de diálogo Agregar referencia en Microsoft Visual Studio Tools para aplicaciones (VSTA) o Visual Studio. Además, debe convertir el objeto devuelto por la propiedad HtmlDocument en el tipo IHTMLDocument2 .

Sólo pueden tener acceso a este miembro los formularios que se ejecuten en el mismo dominio que el formulario abierto actualmente o los formularios a los que se hayan concedido permisos entre dominios.

Se puede tener acceso a este tipo o miembro solamente desde un código ejecutado en formularios abiertos en Microsoft Office InfoPath 2007.

Ejemplo

En los ejemplos siguientes se supone que se dispone de una directiva using mshtml; o Imports mshtml en la sección de declaraciones del archivo de código del formulario.

En el ejemplo siguiente, se usa la propiedad HtmlDocument de la clase HtmlTaskPane para establecer una referencia al objeto HTML window del panel de tareas personalizado de un formulario de plena confianza. A continuación, el código cambia el color de fondo del panel de tareas personalizado.

// Get a reference to the custom task pane. It is always index [0]
// in the TaskPanes collection.
HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
   (this.CurrentView.Window.TaskPanes[0]);

// Get a reference to the custom task pane document and cast to
// the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)(custom.HtmlDocument);

// Change custom task pane background color to red.
oHTMLdoc.bgColor = "red";
' Get a reference to the custom task pane. It is always index [0]
' in the TaskPanes collection.
Dim custom As HtmlTaskPane = DirectCast( _
   Me.CurrentView.Window.TaskPanes(0), _
   Microsoft.Office.InfoPath.HtmlTaskPane)

' Get a reference to the custom task pane document and cast to
' the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = _
   DirectCast(custom.HtmlDocument,IHTMLDocument2)

' Change custom task pane background color to red.
oHTMLdoc.bgColor = "red"

En el ejemplo siguiente, se usa la propiedad HtmlDocument de la clase HtmlTaskPane para establecer una referencia al objeto HTML window del panel de tareas personalizado de un formulario de plena confianza. A continuación, el código llama a la función personalizada TaskPaneSwitchView definida en el código HTML del panel de tareas personalizado.

   // Get a reference to the custom task pane. It is always index [0]
   // in the TaskPanes collection.
   HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
      this.CurrentView.Window.TaskPanes[0];

   // Get a reference to the custom task pane document.
   IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)custom.HtmlDocument;

   // Get a reference to the parent window of the task pane.
   IHTMLWindow2 window = (IHTMLWindow2)oHTMLdoc.parentWindow;

   // Call into script through CLR late binding mechanism.
   window.GetType().InvokeMember(
      "TaskPaneSwitchView",      // late bound method name.
      System.Reflection.BindingFlags.InvokeMethod | // binding flags
      System.Reflection.BindingFlags.DeclaredOnly |
      System.Reflection.BindingFlags.Public |
      System.Reflection.BindingFlags.Instance,
      null,     // binder object
      window,   // target object
      null);   // method arguments
   ' Get a reference to the custom task pane. It is always index (0)
   ' in the TaskPanes collection.
   Dim custom As HtmlTaskPane = _
      DirectCast(Me.CurrentView.Window.TaskPanes(0), _
      Microsoft.Office.InfoPath.HtmlTaskPane)

   ' Get a reference to the custom task pane document.
   Dim oHTMLdoc As IHTMLDocument2 = DirectCast(
      custom.HtmlDocument, IHTMLDocument2)

     ' Get a reference to the parent window of the task pane.
      Dim window As IHTMLWindow2 = DirectCast(oHTMLdoc.parentWindow, _
         IHTMLWindow2

     ' Call into script through CLR late binding mechanism.
     window.GetType().InvokeMember( _
      "TaskPaneSwitchView", _
      System.Reflection.BindingFlags.InvokeMethod Or _
      System.Reflection.BindingFlags.DeclaredOnly Or _
      System.Reflection.BindingFlags.Public Or _
      System.Reflection.BindingFlags.Instance, _
      Nothing, _
      window, _
      Nothing)

Vea también

Referencia

HtmlTaskPane (Clase)
HtmlTaskPane (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)