Pb d'unload de forms

sbouquet Messages postés 70 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 15 mars 2004 - 13 mars 2004 à 20:52
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011 - 22 juin 2007 à 17:30
B'soir les gens

bon voila le pb, j'ai un bouton cmdCancel qui me permet de quitter mon prog quand je clique dessus, le code est le suivant:

Private Sub cmdCancel_Click()
Dim Form As Form
If MsgBox("Do you really want to quit ?", vbYesNo) = vbYes Then
'unload every form
For Each Form In Forms
If Not Form Is Me Then Unload Form
Next Form
End
End If
End Sub

Comme vous pouvez le voir avant la sortie je demande si la personne est sure grace a une msgbox. J'ai voulu rajouter ce meme code mais pour le form_unload et la surprise, ca ne marche pas pour le form_unload, quand je clicke sur No j'ai mon prog qui est fermé quand meme.

Qlq un pourrait il m'expliquer svp
merci

8 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 mars 2004 à 21:10
labout

If MsgBox("Do you really want to quit ?", vbYesNo) = vbYes Then
'unload every form
For Each Form In Forms
If Not Form Is Me Then Unload Form
Next Form
End
else
cancel=true
End If

Ajoute dans else cancel=true
@+
0
sbouquet Messages postés 70 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 15 mars 2004
13 mars 2004 à 23:51
merci bien,
Effectivement, ca marche impec, mais je comprends pas pkoi en fait puisk cancel est defini comme un integer, pkoi faire cancel = true ? et du coup pkoi ca marche ?

Merci
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
14 mars 2004 à 10:26
labout
c'est comme cela c'est microsoft
0
sbouquet Messages postés 70 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 15 mars 2004
14 mars 2004 à 14:19
mdr, ok, merci billou !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
14 mars 2004 à 15:53
En fait, lorsque Cancel <> 0, alors ca annule le déchargement => le fait de faire Cancel = True ou Cancel = 1 revient au même puisque : Val(True) = 1 !

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
sbouquet Messages postés 70 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 15 mars 2004
15 mars 2004 à 13:44
Ben la je comprends d'un coup, merci
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011
22 juin 2007 à 17:29
Moi je fais avec ça d'habitude, mais j'avais pas essayé depuis que j'étais sous Vista, et je viens de constater que ça ne marchait pas... Je ne sais pas si ça vient de là..?

C'est en VB 6, j'ai un exemple tout simple:

Dim Saved As Boolean

Private Sub Command1_Click()
Saved = True
MsgBox "Enregistré"
End Sub

Private Sub Form_Load()
Saved = False
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Ask As VbMsgBoxResult
If Saved = False Then
Ask MsgBox("Voulez-vous enregistrer?", vbYesNoCancel) vbYes
Select Case Ask
Case vbYes
MsgBox "Enregistré"
Case vbCancel
Cancel = 1
MsgBox "Enregistré"
End Select
End If
End Sub

Dans aucun cas ça n'affiche le message "Enregistré" lorsque l'on ferme le programme...
Quelqu'un a-t-il déjà rencontré ce problème?
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011
22 juin 2007 à 17:30
Désolé pour la mise en forme :/ (c'est le navigateur^^)
0
Rejoignez-nous