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)