**** COMMENT BLOQUER LA FERMETURE D'UNE FENETRE ? ****

omnikod - 3 août 2001 à 09:28
TABEKOGilles Messages postés 2 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 30 septembre 2008 - 29 sept. 2008 à 17:10
je ne parviens pas à bloquer la fermeture d'une appli par la petite croix en haut a droite de la fenêtre. es-ce possible de le faire ? y'a t-il une API ?

merci !

your omnikod; ;o/

www.omnikod.fr.fm
divers@omnikod.fr.fm

7 réponses

Dans le unload de ta fenêtre, tu n'as qu'à mettre cancel à true(cancel est le paramètre de l'événement) selon la condition que tu souhaites avoir.

Si tu as une appli MDI, tu peux te servir de QueryUnload pour annuler la fermeture de toutes les fenêtres filles quand tu en annules une.

En espérant t'avoir aidé.
0
Tu peux essayer ceci qui vas désactiver la croix:

'{dans un module}
'windows constants for CloseMenu
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
'/windows constants for CloseMenu

Public Sub DesactiveX(frm As Form)
   Dim hMenu As Long
   Dim nCount As Long
   
   hMenu = GetSystemMenu(frm.hwnd, 0)
   nCount = GetMenuItemCount(hMenu)
           
   Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
   Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)

   DrawMenuBar frm.hwnd
End Sub

'{appel dans ta Form}
DesactiveX Me

0
Si on est bien en VB, tu peux désactiver les trois cases au coin supérieur droit dans les propriétés du formulaire

controlbox = false

De cette façon, il n'ont plus la petite croix...
0
merci
0

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

Posez votre question
thanx a lot !
0
merci, mais je voulais garder les controles et les bloquer que pendant une certaines partie de l'execution de l'appli.

merci kan même !
0
TABEKOGilles Messages postés 2 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 30 septembre 2008
29 sept. 2008 à 17:10
Merci pour le code Makabey. Il fait exactement ce dont j'ai besoin, c'est à dire bloquer la croix de fermeture windows, sans pour autant jouer sur l'évènement unload ou query_unload, ce qui n'empeche pas le fonctionnement d'un bouton de fermeture ou d'une option quiter dans le menu fichier d'un MDI par exemple.
Merci encore

The Unyk Sniper.
0
Rejoignez-nous