IInfoPathViewControl Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
<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
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. |