Utilisation de Form Windows avec le 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.
Nom | 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é. ![]()
Visual C# accède aux collections à l'aide d'un indexeur au lieu de faire appel à 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). En outre, comme tous les autres membres du modèle objet InfoPath lorsqu'ils sont appelés depuis un modèle de formulaire, la prise en charge des méthodes et propriétés varient en fonction du niveau de sécurité et de la manière dont le formulaire est déployé.
Nom | Description | Prise en charge des types de fenêtres |
---|---|---|
Méthode Activate |
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 |
Propriété Caption |
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 |
Propriété Left |
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 |
Propriété MailEnvelope |
Renvoie une référence à l'objet MailEnvelopeObject. |
Uniquement le type xdEditorWindow |
Propriété TaskPanes |
Renvoie une référence à la collection TaskPanesCollection. |
Les types xdDesignWindow et xdEditorWindow |
Propriété Top |
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 |
Renvoie un numéro indiquant le type de fenêtre sur la base de la numérotation 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 |
Renvoie 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)
Cependant, vous pouvez accéder directement à la fenêtre actuellement ouverte en utilisant la propriété ActiveWindow de l'interface Application, sans passer par la collection WindowsCollection, comme démontré dans l'exemple qui suit.
WindowObject objWindow = thisApplication.ActiveWindow;
Dim objWindow As WindowObject = thisApplication.ActiveWindow
![]() |
---|
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
![]() |
---|
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. |