QueryUnload, événement
Se produit avant la fermeture d'une feuille ou d'une application. Lorsqu'un objet MDIForm se ferme, l'événement QueryUnload se produit d'abord pour lafeuille MDI, puis dans toutes les feuillesfilles MDI. Si aucune feuille n'annule l'événement QueryUnload, l'événement Unload se produit dans toutes les autres feuilles avant de s'appliquer à une feuille MDI. Lorsqu'une feuille fille ou un objet Form se ferme, l'événement QueryUnload de cette feuille intervient avant l'événement Unload de la feuille.
Syntaxe
Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)
Private Sub MDIForm_QueryUnload(cancel As Integer, unloadmode As Integer)
La syntaxe de l'événement QueryUnload comprend les éléments suivants :
Élément Description
cancel Entier qui, si sa valeur est différente de 0, arrête l'événement QueryUnload dans toutes les feuilles chargées et empêche la fermeture de la feuille et de l'application.
unloadmode Valeur ou constante indiquant la cause de l'événement QueryUnload, comme indiqué dans la section Valeurs renvoyées.
Valeurs renvoyées
L'argument unloadmode renvoie les valeurs suivantes :
Constante Valeur Description
vbFormControlMenu 0 L'utilisateur a choisi dans le menu Système de la feuille la commande Fermeture.
vbFormCode 1 L'instruction Unload est invoquée à partir du code.
vbAppWindows 2 La session Microsoft Windows en cours prend fin.
vbAppTaskManager 3 Le Gestionnaire de tâches de Microsoft Windows ferme l'application.
vbFormMDIForm 4 Une feuille MDI fille se ferme en raison de la fermeture de la feuille MDI.
vbFormOwner 5 Une feuille se ferme en raison de la fermeture de son propriétaire.
Ces constantes sont répertoriées dans labibliothèque d'objets Visual Basic (VB) de l'Explorateur d'objets.
Remarques
Cet événement est en principe utilisé pour s'assurer qu'il ne reste aucune tâche inachevée dans les feuilles d'une application avant sa fermeture. Par exemple, si un utilisateur n'a pas encore enregistré de nouvelles données dans une feuille quelconque, votre application peut l'inviter à procéder à leur enregistrement.
Lorsqu'une application se ferme, vous pouvez utiliser la procédure d'événement QueryUnload ou Unload pour affecter la valeur True à l'argument Cancel afin d'arrêter le processus de fermeture. Toutefois, l'événement QueryUnload se produit dans toutes les feuilles avant que le déchargement commence, tandis que l'événement Unload se produit lors du déchargement de chaque feuille.
Partager