Compartilhar via


IInfoPathViewControl Interface

Definição

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

&lt;ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)&gt; 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() &lt;&gt; "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: " &amp; e.ToString &amp; " " &amp; 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.

Aplica-se a