jauretch
Messages postés3Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention25 avril 2006
-
25 avril 2006 à 20:21
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
28 avril 2006 à 10:03
Bonjour,
Je souhaite empecher l'utilisateur de quitter mon formulaire car je dois faire un test avant qu'il ne quitte.
C'est pourquoi je voudrais mettre un bouton "Quitter" qui me permettrait de faire mon test avant de quitter.
Pour cela, il me faudrait supprimer la croix en haut a droite du formulaire qui permet a l'utilisateur de quitter.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 25 avril 2006 à 20:28
Salut,
Il faut faire un appel d'API. Pour cela, dans le code du UserForm, tout en haut, dans les déclarations, met ça :
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
puis dans UserForm_Initialize :
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 25 avril 2006 à 20:39
tu n'es pas obligé de supprimer la croix, quand l'utilisateur clique sur la croix un evenement survient, query_unload, dans lequel tu peux faire ton test et eventuellement annuler la "demande" de fermeture du formulaire
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 20172 25 avril 2006 à 20:59
Réponse à ta question "Comment est ce que j'annule la demande de fermeture du formulaire?":
Dans le code que je t'ai fourni, j'affecte la valeur True à la variable Cancel (qui veut dire annuler en anglais), ceci annule la méthode Unload du formulaire.
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 27 avril 2006 à 13:04
Salut à tous,
un exemple de plus de description du problème pas assez succinte, et des chercheurs qui bossent pour le plaisir! (en tout cas grand merci à eux)
au moins jauretch, acceptes ta réponse, pour qu'elle serve, et que personne ne revienne!
PS: je ne t'en veux pas, je t'explique.
à+
rvblogn
<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 28 avril 2006 à 10:03
Oui,
du coup, me demande-je, serait-il, déontologiquement parlant, inconvenant que, dans pareil cas, un Admin CS accepte la réponse à la place du demandeur fuyant (au delà, bien sûr, d'un délai prévu dans le règlement)?
Au pire, le fugueur revient, et voit qu'il a manqué à sa famille, et que celle-ci s'est occupé de ses petites affaires pendant son absence, ce qui contribuerait peut-être à lui faire prendre conscience que le monde peut tourner sans lui, mais qu'avec lui c'est mieux.
m'enfin, pas de quoi nous entamer le moral, juste l'espoir :)