IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Probléme de MDIForm_QueryUnload


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 75
    Points
    75
    Par défaut Probléme de MDIForm_QueryUnload
    Bonjour à tous !

    Alors voilà, j'ai inclu dans mon application le code suivant qui me permet d'intercepter le moment ou l'utilisateur clique sur la croix de fermeture afin de lui demander confirmation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If CloseMode = 0 Then
        reponse = MsgBox("Etes-vous sur de vouloir quitter l'application ?", vbYesNo + vbQuestion, "Confirmation")
        If reponse = vbNo Then
            Cancel = True
            Exit Sub
        End If
        End
        Cancel = False
    End If
    J'ai également inclus dans mon menu présent sur la forme MDI qui contient le code ci-dessus, un menu dans lequel à chaque clique sur un élément, toutes les feuilles MDI filles sont fermées avant d'ouvrir la nouvelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While Forms.Count > 1
        Unload Forms(1)
    Wend
    Le probléme est que maintenant, dés que je clique sur un élément du menu, cela fais comme si j'avais cliqué sur la croix de fermeture, boite de dialogue de confirmation et je reste bloqué en boucle sur cette boite si je choisis non.

    Une idée ????

    Merci

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    depuis quand le paramètre cancel a-t-il la valeur True ou False dans l'évènement QueryUnload ?
    Ce n'est pas une booléenne mais un Integer ! (lis donc ton aide en ligne !)
    donne-lui la valeur 0

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 75
    Points
    75
    Par défaut
    Bon j'ai remplacé comme tu dis les true et false et ça ne change rien lol, à chaque fois que je clique sur un élément de mon menu, c'est comme si je cliquer sur la croix...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If CloseMode = 0 Then
    reponse = MsgBox("Etes-vous sur de vouloir quitter l'application ?", vbYesNo + vbQuestion, "Confirmation")
    If reponse = vbNo Then
    Cancel = 1
    Exit Sub
    End If
    End
    Cancel = 0
    End If

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Tu fais un sacré champion, toi ....

    Tu as donné la valeur 0 là où il ne convenait pas de le faire !!!

    Tu vas lire ton aide en ligne, oui ????

    EDIT :

    Allez, va ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
      If CloseMode = 0 Then
         reponse = MsgBox("Etes-vous sur de vouloir quitter l'application ?", vbYesNo + vbQuestion, "Confirmation")
         If reponse = vbNo Then
           Cancel = 0
            Exit Sub
         End If
         End
        Cancel = 4555555 '(ou ce que tu veux)
      End If
     
    End Sub

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 75
    Points
    75
    Par défaut
    Euh désolé je viens de trouver le problème, erreur de frappe !!! J'ai besoin de vacances moi lol

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo