de la propiedad HtmlTaskPane.HtmlDocument

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

'Declaración
Public MustOverride ReadOnly Property HtmlDocument As Object
    Get
'Uso
Dim instance As HtmlTaskPane
Dim value As Object

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

Valor de propiedad

Tipo: System.Object
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 pestaña .NET del cuadro de diálogo Agregar referencia en Visual Studio 2012. Además, debe convertir el objeto devuelto por la propiedad HtmlDocument en el tipo IHTMLDocument2 .

Únicamente se puede acceder a este miembro con formularios que se ejecuten en el mismo dominio que el formulario que está actualmente abierto o con formularios a los que se hayan concedido permisos entre dominios.

Únicamente se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler.

Ejemplos

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

clase HtmlTaskPane

Miembros HtmlTaskPane

Espacio de nombres Microsoft.Office.InfoPath