Partager via


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é.

RemarqueRemarque
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

Notes

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

Notes

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.