Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode vbUser Then Cancel 1 End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Form_Unload(Cancel As Integer) If MsgBox("Êtes-vous sur de vouloir Fermer ?", vbYesNo + vbQuestion) = vbYes then Unload me else Cancel = 1 end if End Sub
'# Dans un module 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 Const MF_BYPOSITION = &H400& Private Const MF_DISABLED = &H2& '# Permet d'enlever certains elements du menu systeme, ce qui influe sur la possibilité de cliquer sur la croix.... Public Sub RemoveCloseButton(Form As Form) Dim hMenu As Long, nCount As Long hMenu = GetSystemMenu(Form.hwnd, 0) nCount = GetMenuItemCount(hMenu) Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION) '# On enleve le mmenu Fermer Call RemoveMenu(hMenu, nCount - 2, MF_DISABLED Or MF_BYPOSITION) '# On enleve le separateur End Sub '# Dans ta form Private Sub Form_Load() RemoveCloseButton Me End Sub Private Sub Form_click() Unload Me End Sub