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.