sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 mars 2004
-
13 mars 2004 à 20:52
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 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.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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
sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 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 ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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 !
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 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?