IInfoPathViewControl Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un control presente en la vista.
public interface class IInfoPathViewControl
[System.Runtime.InteropServices.Guid("096CD6DA-0786-11D1-95FA-0080C78EE3BB")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IInfoPathViewControl
type IInfoPathViewControl = interface
Public Interface IInfoPathViewControl
- Atributos
Ejemplos
En el ejemplo siguiente, el método Import de la interfaz IInfoPathDataImporter se usa para recorrer en iteración el mshtml. Colección IEnumUnknown de controles IInfoPathViewControl en la vista del formulario activo.
La rutina Import es la parte principal de una solución que se usa para crear un importador de datos personalizado. El proyecto de Visual Studio requiere una referencia a la biblioteca de tipos de Microsoft Office InfoPath 2.0 y System.Windows.Forms, con instrucciones Imports para cada uno, así como mshtml. Las instrucciones implements son necesarias para generar las firmas de los métodos proporcionados por las interfaces de importador de datos personalizadas, como IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControly IPropertyBag.
Nota: Para crear un importador de datos personalizado mediante una biblioteca de clases .NET, active la casilla Registrar para interoperabilidad COM en la pestaña Compilar del editor de propiedades de clase.
Nota: Para depurar un importador de datos personalizado, establezca una acción iniciar en Visual Studio para iniciar un programa externo y vaya a INFOPATH.EXE ubicado en <drive>:\Archivos de programa\Microsoft Office\Office12\. Esta opción está disponible en la pestaña Depurar del editor de propiedades de clase.
Imports Microsoft.Office.Interop.InfoPath
Imports System.Windows.Forms
Imports mshtml
<ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)> Public Class Class1
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporterFields
Implements Microsoft.Office.Interop.InfoPath.IInfoPathViewControl
Implements Microsoft.Office.Interop.InfoPath.IPropertyBag
Public Const ClassId As String = _
"1FEB0DF8-E7F1-4b21-A9EE-B06D5FECC572"
Public Const InterfaceId As String = _
"9F9F685C-71A0-46ec-A7F9-A86AF8CBC2A8"
Public Const EventsId As String = _
"ED7C0C49-3F89-40a2-A50E-C59E8F682B08"
Public Sub Import(
_ByVal pPrintSettings As Microsoft.Office.Interop.InfoPath.IPropertyBag, _
ByVal punkViewControls As mshtml.IEnumUnknown) _
Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter.Import
Dim pControl As IInfoPathViewControl
Dim pUnk As Object
Dim pcelt As UInt16 = 1
Dim pceltFetched As UInt16 = 0
Try
'Gets first control in the view
punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
Do While pUnk.ToString() <> "Nothing"
pControl = pUnk
MessageBox.Show(pControl.ControlType)
'Gets next control in the view
punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
Loop
Catch e As Exception
If e.Message = _
"Object reference not set to an instance of an object." Then
' Signals the end of the enumeration/controls in the view
Else
MessageBox.Show("Error: " & e.ToString & " " & e.Message)
End If
End Try
End Sub
Comentarios
La interfaz IInfoPathViewControl , que se usa junto con la IInfoPathDataImporter interfaz, permite a los desarrolladores obtener información específica sobre los controles de la vista, como ControlType las posiciones y DataType, Top y Left , el XML NodeName asociado al control y InputScopes(IntPtr, UInt32, IEnumString, String). La Value propiedad es la única propiedad que se puede establecer.
Para obtener una lista de los controles enumerados si están presentes en la vista, vea el GetControls(IEnumUnknown) método de la IInfoPathDataImporterFields interfaz. Para obtener una lista de tipos de datos aceptables que se pueden usar con controles específicos, vea la Value propiedad de la interfaz IInfoPathViewControl .
Para obtener más información sobre cómo importar datos mediante programación en un formulario de InfoPath, consulte el Portal para desarrolladores de InfoPathDel Centro para desarrolladores de Microsoft Office.
Propiedades
ControlType |
Obtiene el tipo de control del control actual de la enumeración. |
DataType |
Obtiene el tipo de datos de un control en la vista. |
Height |
Obtiene el alto del control actual de la enumeración. |
Left |
Obtiene el desplazamiento, desde el lado izquierdo de la vista, del control actual de la enumeración. |
NodeName |
Obtiene el nombre del nodo asociado al control actual de la enumeración. |
Top |
Obtiene el desplazamiento, desde la parte superior de la vista, del control actual de la enumeración. |
Value |
Obtiene o establece el valor del control actual en la enumeración. |
Width |
Obtiene el ancho del control actual de la enumeración. |
Métodos
InputScopes(IntPtr, UInt32, IEnumString, String) |
Obtiene el ámbito de entrada del control actual de la enumeración. |