Cycle de vie des fenêtres

Voici une petite explication de la naissance et de la mort d'une fenêtre.

Il existe deux types de fenêtres: de véritables fenêtres de niveau supérieur et des fenêtres intégrées (comme celle intégrée à l'intérieur d'un tabstrip dans l'IDE).

Une fenêtre peut être persistante ou non. Une fenêtre non persistante est détruite lorsque vous la fermez. Une fenêtre persistante est juste cachée.

Une fenêtre peut être ouverte en mode modal (blocage) et non modal (non bloquant). Le mode modal est implémenté en utilisant une boucle d'événement locale. Une fenêtre embarquée ouverte en mode modal est temporairement fabriquée au niveau supérieur.

La première fois qu'une fenêtre est affichée, un événement ouvert est augmenté.

Une fenêtre peut être fermée en appelant la méthode de fermeture ou en cliquant sur le bouton Fermer du gestionnaire de fenêtre si la fenêtre est une fenêtre de niveau supérieur.

Lorsqu'une fenêtre est fermée, un événement proche est augmenté. Si cet événement n'est pas arrêté, la fenêtre est cachée. Si la fenêtre n'est pas persistante, elle est également détruite. Si la fenêtre a été ouverte en mode modal, la boucle d'événement locale utilisée pour implémenter le mode modal est laissée.

Lorsqu'une fenêtre a été fermée, elle peut être ouverte à nouveau et l'événement ouvert sera à nouveau relevé.

L'argument entier de la méthode Close est renvoyé par la méthode ShowModal.

Si vous appelez Fermer pendant l'événement de clôture, la méthode ne fait rien.

Si vous appelez Fermer pendant l'événement ouvert, la fenêtre n'est pas ouverte.

Si vous appelez Show ou ShowModal pendant que la fenêtre est affichée, la méthode ne fait rien.