TECHNIQUES POUR EMPECHER LE DÉCHARGEMENT DE LA FEUILLE
BigBadboy
Messages postés26Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention17 novembre 2008
-
14 août 2004 à 10:15
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
8 sept. 2004 à 14:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 8 sept. 2004 à 14:44
Merci bien, donc vous pouvez remplacer cancel par 0,1,2,3,4,5 pour les éventuel débutants ;)
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 7 sept. 2004 à 15:04
Aller tient :
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 la bibliothè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.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 2 sept. 2004 à 16:41
Oui en effet, ya pas MSDN en ligne ?
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 26 août 2004 à 12:43
étonnant que tu n'ai pas le msdn car il est livré avec le logiciel... lol... cà laisse sous entendre bcp :)
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 26 août 2004 à 11:43
Le problème c'est que j'ai pas la MSDN, pourrait nous indiquer ce que celle-ci te dit?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 26 août 2004 à 11:16
Dans le MSDN que j'ai eu avec VB, j'ai fais F1 sur QueryUnload et il m'a fourni les valeurs/constantes de UnloadMode.
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 22 août 2004 à 14:54
En fait, il faut juste agir sur la prop controlbox et sa masque les 3 boutons.
NHenry, tu connait ces valeurs ? Je sais juste que 0 c'est fermture par la croix mais le reste je sais pas, je ne peux pas non plus tester car faut pas que je redémarre pour l'instant.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 19 août 2004 à 11:10
Par exemple, quand tu quitte windows (ou la sesion), UnloadMode te donne une valeur, il est intéressent de pouvoir connaitre pourquoi la feuille se décharge pour connaitre quelle question poser : si l'appli se ferme, on demande confirmation de la fermeture et/ou l'enregistrement d'un fichier; si windows se ferme on demande juste si on veut enreg le fichier, impossible d'annuler la fermeture.
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 14 août 2004 à 11:33
je connaissais le système du cancel à 1 mais par contre pour l'api pas mal, mais un peu lourd quand meme,... ne serait-il pas préférable de changer directemetn les valeurs de la feuille comme le borderstyle et controlbox? enfin moi perso j'utilise les ces propriétés, maintenant celui qui veut s'amuser avec les api m'as foi... lol
Amicalement TMCUH
BigBadboy
Messages postés26Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention17 novembre 2008 14 août 2004 à 10:15
Merci gars !!!
Ca va m'être tres utile.
Bonne prog a tous
8 sept. 2004 à 14:44
7 sept. 2004 à 15:04
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 la bibliothè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.
2 sept. 2004 à 16:41
26 août 2004 à 12:43
26 août 2004 à 11:43
26 août 2004 à 11:16
22 août 2004 à 14:54
NHenry, tu connait ces valeurs ? Je sais juste que 0 c'est fermture par la croix mais le reste je sais pas, je ne peux pas non plus tester car faut pas que je redémarre pour l'instant.
19 août 2004 à 11:10
14 août 2004 à 11:33
Amicalement TMCUH
14 août 2004 à 10:15
Ca va m'être tres utile.
Bonne prog a tous