OVH Cloud OVH Cloud

Désactiver la case de fermeture

1 réponse
Avatar
Guy Lafrenière
Bonjour Collègues,

J'ai créé un serveur DLL pour remplacer la fonction intégrée MsgBox. Mon
serveur offre une plus grande flexibilité que la fonction MsgBox.

Comment désactiver la case de fermeture de la fenêtre qui contient le
message, tout en la laissant visible, comme c'est le cas avec la fonction
MsgBox quand il n'y a pas de bouton Annuler?

Merci!

1 réponse

Avatar
Zoury
Salut Guy !

Voici un exemple :
'***
Option Explicit

Private Declare Function ModifyMenu _
Lib "User32" _
Alias "ModifyMenuA" ( _
ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long, _
ByVal wIDNewItem As Long, _
ByVal lpString As String) As Long
Private Declare Function GetSystemMenu _
Lib "User32" ( _
ByVal hWnd As Long, _
ByVal bRevert As Long) As Long

Private Const MF_BYCOMMAND As Long = &H0
Private Const MF_GRAYED As Long = &H1
Private Const SC_CLOSE As Long = &HF060

Private Sub Form_Load()

Call ModifyMenu( _
GetSystemMenu(Me.hWnd, 0), _
SC_CLOSE, _
MF_BYCOMMAND Or MF_GRAYED, _
0, "Close")

End Sub
'***

--
Cordialement
Yanick
MVP pour Visual Basic
"Guy Lafrenière" a écrit dans le message de
news:
Bonjour Collègues,

J'ai créé un serveur DLL pour remplacer la fonction intégrée MsgBox. Mon
serveur offre une plus grande flexibilité que la fonction MsgBox.

Comment désactiver la case de fermeture de la fenêtre qui contient le
message, tout en la laissant visible, comme c'est le cas avec la fonction
MsgBox quand il n'y a pas de bouton Annuler?

Merci!