Bonsoir le Forum,
Je voudrais créer une procédure simple rappelée dans tous les évènements Initialize de mes Userforms.
Cette procédure aurait pour effet de CACHER (et non désactiver) la croix de fermeture.
Pour ce faire, j'ai tenté d'adapter une proposition du regretté (car sauf erreur non actif) Laurent LONGRE (à consulter chez les voisins du laboratoire).
Dans un module nommé API
Et dans l'évènement Initialize de TOUS les usf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Option Private Module Declare Function GetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long Declare Function SetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Declare Function FindWindowA Lib "User32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Sub Suppr_fermeture() 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 End Sub
L'erreur vient du
Code : Sélectionner tout - Visualiser dans une fenêtre à part Call Suppr_fermeture
que je n'arrive pas à rendre variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.Caption
J'ai pensé à un module de classe; mais cela reste au-desus de mes modestes capacités.
Si quelqu'un a une idée, merci par avance.
Partager