TECHNIQUES POUR EMPECHER LE DÉCHARGEMENT DE LA FEUILLE

BigBadboy Messages postés 26 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 17 novembre 2008 - 14 août 2004 à 10:15
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/25378-techniques-pour-empecher-le-dechargement-de-la-feuille

cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Derniè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és 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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és 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
2 sept. 2004 à 16:41
Oui en effet, ya pas MSDN en ligne ?
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 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és 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Derniè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és 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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és 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Derniè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és 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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és 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 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és 26 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 17 novembre 2008
14 août 2004 à 10:15
Merci gars !!!
Ca va m'être tres utile.
Bonne prog a tous