IInfoPathViewControl Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um controle presente no modo de exibição.
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
Exemplos
No exemplo a seguir, o método Import da interface IInfoPathDataImporter é usado para iterar por meio do mshtml. Coleção IEnumUnknown de controles IInfoPathViewControl na exibição do formulário ativo.
A rotina de importação é a parte principal de uma solução usada para criar um importador de dados personalizado. O projeto do Visual Studio requer uma referência à Biblioteca de Tipos do Microsoft Office InfoPath 2.0 e System.Windows.Forms, com instruções Imports para cada um, bem como mshtml. As instruções de implementação são necessárias para gerar as assinaturas para os métodos fornecidos pelas interfaces personalizadas do importador de dados, incluindo IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControle IPropertyBag.
Observação: para criar um importador de dados personalizado usando uma biblioteca de classes .NET, verifique a caixa de seleção Registrar para COM na guia Compilar do editor de propriedades da classe.
Observação: para depurar um importador de dados personalizado, defina uma ação iniciar no Visual Studio para iniciar um programa externo e navegue até INFOPATH.EXE localizada em <drive>:\Arquivos de Programas\Microsoft Office\Office12\. Essa opção está disponível na guia Depuração do editor de propriedades da classe.
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
Comentários
A interface IInfoPathViewControl , usada em conjunto com a interface, permite que os IInfoPathDataImporter desenvolvedores obtenham informações específicas sobre os controles na exibição, como as ControlType posições e DataType, e TopLeft , o XML NodeName associado ao controle, e o InputScopes(IntPtr, UInt32, IEnumString, String). A Value propriedade é a única propriedade que pode ser definida.
Para obter uma lista de controles que são enumerados se estiverem presentes no modo de exibição, consulte o GetControls(IEnumUnknown) método da IInfoPathDataImporterFields interface. Para obter uma lista de tipos de dados aceitáveis que podem ser usados com controles específicos, consulte a Value propriedade da interface IInfoPathViewControl .
Para obter mais informações sobre a importação programática de dados para um formulário InfoPath, consulte o Portal do Desenvolvedor do InfoPathMicrosoft Office Developer Center.
Propriedades
ControlType |
Obtém o tipo de controle do controle atual na enumeração. |
DataType |
Obtém o tipo de dados de um controle no modo de exibição. |
Height |
Obtém a altura do controle atual na enumeração. |
Left |
Obtém o deslocamento, do lado esquerdo da exibição, do controle atual na enumeração. |
NodeName |
Obtém o nome do nó associado ao controle atual na enumeração. |
Top |
Obtém o deslocamento, na parte superior da exibição, do controle atual na enumeração. |
Value |
Obtém ou define o valor do controle atual na enumeração. |
Width |
Obtém a largura do controle atual na enumeração. |
Métodos
InputScopes(IntPtr, UInt32, IEnumString, String) |
Obtém o escopo de entrada do controle atual na enumeração. |