1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| 'Déclarations permettant l'inhibition de la case à cocher "Fermer" de la boîte de dialogue jusqu'à Userform_Initialize()
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert 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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'ou ça c'est pareil :
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const SC_CLOSE = &HF060&
Private Const MF_BYCOMMAND = &H0&
Private Sub UserForm_Initialize()
'Proc d'inhibition de la case à cocher de fermeture
'de la boîte de dialogue
On Error GoTo ErrorHandler
Dim hSysMenu As Long
Dim MeHwnd As Long
MeHwnd = FindWindowA(vbNullString, Me.Caption)
If MeHwnd > 0 Then
hSysMenu = GetSystemMenu(MeHwnd, False)
RemoveMenu hSysMenu, SC_CLOSE, MF_BYCOMMAND
Else
MsgBox "Handle de " & Me.Caption & "introuvable", vbCritical
End If
Exit Sub
ErrorHandler:
Dim Msg
If Err.Number <> 0 Then
Msg = "L'erreur # " & Str(Err.Number) & " a été générée par " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Erreur : Veuillez prévenir le responsable SVP !" Err.HelpFile, Err.HelpContext
End If
End Sub |
Partager