Utiliser form Windows à l’aide du modèle objet InfoPath 2003

Lorsque vous programmez un formulaire InfoPath, vous pouvez écrire du code pour accéder aux fenêtres d'un formulaire, puis personnaliser certains des éléments qu'elles contiennent. Le modèle objet compatible InfoPath 2003 prend en charge l'accès aux fenêtres d'un formulaire grâce à l'utilisation de l'interface WindowObject en association avec l'interface WindowsCollection .

Il existe deux types de fenêtres dans InfoPath :

  • La fenêtre d'édition, qui est utilisée lorsqu'un utilisateur remplit un formulaire.

  • La fenêtre de création, qui est utilisée lorsqu'un utilisateur créé un modèle de formulaire.

Lorsque vous écrivez du code dans un modèle de formulaire, c'est la fenêtre d'édition qui vous sera la plus utile, car elle vous permet d'utiliser une instance WindowObject qui lui est associée afin d'accéder à diverses propriétés et méthodes servant à personnaliser un formulaire.

Vue d'ensemble de l'interface WindowsCollection

L'interface WindowsCollection fournit les propriétés suivantes, que les développeurs de modèles de formulaires peuvent utiliser pour gérer les instances WindowObject qu'elle contient.

Name Description
Propriété Count
Renvoie le nombre d'objets Window que contient la collection.
Propriété Item
Renvoie une référence à l'objet Window spécifié. REMARQUE : Visual C# accède aux collections à l’aide d’un indexeur au lieu d’appeler la propriété Item . Par exemple : thisApplication.Windows[0].Caption.

Vue d'ensemble de l'objet Window

L'interface WindowObject fournit aux développeurs les méthodes et propriétés suivantes pour interagir avec une fenêtre InfoPath. La prise en charge de ces méthodes et propriétés dépend du type de fenêtre ( XdWindowType ) que vous utilisez. Certaines méthodes et propriétés fonctionnent uniquement avec les fenêtres d'édition (XdWindowType.xdEditorWindow). Les autres méthodes et propriétés fonctionnent à la fois avec les fenêtres d'édition et les fenêtres de création (XdWindowType.xdDesignerWindow). Par ailleurs, comme pour tous les membres de modèles objets InfoPath, la prise en charge des méthodes et des propriétés varie selon le niveau de sécurité et les modalités de déploiement du formulaire lorsque cette prise en charge est appelée à partir d'un modèle de formulaire.

Name Description Prise en charge des types de fenêtres
Activate, méthode
Active la fenêtre. Les types xdDesignWindow et xdEditorWindow
Propriété active
Renvoie une valeur Boolean qui indique si la fenêtre est la fenêtre active. Les types xdDesignWindow et xdEditorWindow
Caption, propriété
Propriété en lecture/écriture qui renvoie ou définit le texte de légende de la fenêtre représentée par l'objet Window. Uniquement le type xdEditorWindow
Méthode Close
Ferme une fenêtre. Uniquement le type xdEditorWindow
Propriété CommandBars
Renvoie une référence à l'objet Microsoft Office CommandBars. Les types xdDesignWindow et xdEditorWindow
Propriété Height
Propriété en lecture/écriture de type entier long qui spécifie la hauteur en points de la fenêtre représentée par l'objet Window. Les types xdDesignWindow et xdEditorWindow
Left, propriété
Propriété en lecture/écriture de type entier long qui indique la position horizontale (en points) de la fenêtre représentée par l'objet Window. Les types xdDesignWindow et xdEditorWindow
MailEnvelope, propriété
Renvoie une référence à l’objet MailEnvelopeObject . Uniquement le type xdEditorWindow
Propriété TaskPanes
Retourne une référence à la collection TaskPanesCollection . Les types xdDesignWindow et xdEditorWindow
Top, propriété
Propriété en lecture/écriture de type entier long qui indique la position verticale (en points) de la fenêtre représentée par l'objet Window. Les types xdDesignWindow et xdEditorWindow
Propriété WindowType
Retourne un nombre indiquant le type de la fenêtre, en fonction de l’énumération XdWindowType . Les types xdDesignWindow et xdEditorWindow
Propriété Width
Propriété en lecture/écriture de type entier long qui indique la largeur (en points) de la fenêtre représentée par l'objet Window. Les types xdDesignWindow et xdEditorWindow
Propriété WindowState
Propriété en lecture/écriture de type XdWindowState qui renvoie ou définit l’état de la fenêtre représentée par l’objet Window . Les types xdDesignWindow et xdEditorWindow
Propriété XDocument
Retourne une référence à l’objet _XDocument associé à la fenêtre. Uniquement le type xdEditorWindow

Utilisation des interfaces WindowsCollection et Window

L'interface WindowsCollection est accessible via la propriété Windows de l'interface Application . Lorsque vous utilisez l'interface WindowsCollection pour accéder aux fenêtres d'un formulaire, vous pouvez utiliser un indexeur (Visual C#) ou transmettre un entier long à la propriété Item (Visual Basic) pour renvoyer une référence à une instance de l'interface WindowObject. Par exemple, le code ci-dessous définit une référence à la première interface WindowObject contenue dans l'interface WindowsCollection.

WindowObject objWindow = thisApplication.Windows[0];
Dim objWindow As WindowObject = thisApplication.Windows(0)

Toutefois, vous pouvez accéder directement à la fenêtre actuellement ouverte à l’aide de la propriété ActiveWindow de l’interface Application , sans passer par WindowsCollection, comme le montre le code suivant.

WindowObject objWindow = thisApplication.ActiveWindow;
Dim objWindow As WindowObject = thisApplication.ActiveWindow

Remarque

[!REMARQUE] Lors du débogage d'un projet InfoPath avec code managé, la propriété ActiveWindow renvoie toujours null car la fenêtre de débogage est active.

Pour accéder à un objet WindowObject, vous devez utiliser la propriété Window de l'interface View associée au document XML sous-jacent d'un formulaire. La propriété View de l'interface XDocument est utilisée pour accéder à l'objet View. Par exemple, le code suivant définit une référence à l'objet WindowObject associé à la vue d'un document XML sous-jacent du formulaire.

WindowObject objWindow = thisXDocument.View.Window;
Dim objWindow As WindowObject = thisXDocument.View.Window

Remarque

[!REMARQUE] Certaines propriétés et méthodes de l'objet Window peuvent uniquement être utilisées dans la fenêtre d'édition et renverront une erreur si elles sont utilisées dans la fenêtre de création. Les propriétés et méthodes prises en charge par chaque type de fenêtre sont répertoriées dans le tableau plus haut dans cette rubrique. Vous pouvez utiliser dans votre code la propriété WindowType pour déterminer le type de fenêtre que vous utilisez.