Partager via


IInfoPathViewControl Interface

Définition

Représente un contrôle présent dans la vue.

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
Attributs

Exemples

Dans l’exemple suivant, la méthode Import de l’interface IInfoPathDataImporter est utilisée pour itérer au sein du mshtml. Collection IEnumUnknown de contrôles IInfoPathViewControl dans la vue du formulaire actif.

La routine d’importation est la partie principale d’une solution utilisée pour créer un importateur de données personnalisé. Le projet Visual Studio nécessite une référence à la bibliothèque de types Microsoft Office InfoPath 2.0 et System.Windows.Forms, avec des instructions Imports pour chacun ainsi que mshtml. Les instructions implémententes sont nécessaires pour générer les signatures pour les méthodes fournies par les interfaces d’importateur de données personnalisées, notamment IInfoPathDataImporter, IInfoPathDataImporterFieldsIInfoPathViewControl, et IPropertyBag.

Remarque : Pour créer un importateur de données personnalisé à l’aide d’une bibliothèque de classes .NET, cochez la case S’inscrire à l’interopérabilité COM sous l’onglet Compiler de l’éditeur de propriétés de classe.

Remarque : Pour déboguer un importateur de données personnalisé, définissez une action de démarrage dans Visual Studio sur Démarrer un programme externe et accédez à INFOPATH.EXE situé à <l’adresse drive>:\Program Files\Microsoft Office\Office12\. Cette option est disponible sous l’onglet Débogage de l’éditeur de propriétés de 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

Remarques

L’interface IInfoPathViewControl, utilisée conjointement avec l’interfaceIInfoPathDataImporter, permet aux développeurs d’obtenir des informations spécifiques sur les contrôles de la vue, telles que les ControlType positions et DataType, les Top positions et Left , le XML NodeName associé au contrôle et .InputScopes(IntPtr, UInt32, IEnumString, String) La Value propriété est la seule propriété qui peut être définie.

Pour obtenir la liste des contrôles énumérés s’ils sont présents dans la vue, consultez la GetControls(IEnumUnknown) méthode de l’interface IInfoPathDataImporterFields . Pour obtenir la liste des types de données acceptables qui peuvent être utilisés avec des contrôles spécifiques, consultez la Value propriété de l’interface IInfoPathViewControl .

Pour plus d’informations sur l’importation programmatique de données dans un formulaire InfoPath, consultez le Centre de développement Microsoft Office du portail des développeurs InfoPath.

Propriétés

ControlType

Obtient le type de contrôle du contrôle actuel dans l’énumération.

DataType

Obtient le type de données d’un contrôle dans la vue.

Height

Obtient la hauteur du contrôle actuel dans l’énumération.

Left

Obtient le décalage, à partir du côté gauche de la vue, du contrôle actuel dans l’énumération.

NodeName

Obtient le nom du nœud associé au contrôle actuel dans l’énumération.

Top

Obtient le décalage, à partir du haut de la vue, du contrôle actuel dans l’énumération.

Value

Obtient ou définit la valeur du contrôle actuel dans l’énumération.

Width

Obtient la largeur du contrôle actuel dans l’énumération.

Méthodes

InputScopes(IntPtr, UInt32, IEnumString, String)

Obtient l’étendue d’entrée du contrôle actuel dans l’énumération.

S’applique à