ABOLITION DU MENU SYSTÈME

Signaler
-
Messages postés
1016
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/492-abolition-du-menu-systeme

Messages postés
1016
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008

Grand merci , pas testé, mais je pense que c'est tout a fait ce que je cherchais. mes feuilles sont en dynamiques, sauf une qui doit toujours rester presente avec les données
Messages postés
40
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
28 avril 2004

Intéressant pour un installateur maison ou pour des boites de dialogue qui peuvent être réduites sans être fermées.
Essayer aussi
Private Sub Form_QueryUnload(Cancel as Integer, UnloadMode As Integer)
If UnloadMode = 0 Then
Cancel = True
Me.Hide
End If
End Sub
Ceci sert à contrôler si l'utilisateur a choisi la Croix pour fermer la fenêtre : si c'est le cas, la fenêtre est masquée (donc on peut encore appeler des propriétés ou des méthodes de contrôles).
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Pas mal mais sa serre pas a grand chose

Voilà pour supprimer et ajouter la croix sur un formulaire:

'Déclaration API
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public 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
Public Declare Function DrawMenuBar Lib "user32" (ByVal Hwnd As Long) As Long


'Constantes
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&

Public Sub DisableClose(frm As Form, Optional Disable As Boolean = True)
'Setting Disable to False disables the 'X', otherwise, it's reset

Dim hMenu As Long
Dim nCount As Long

If Disable Then
hMenu = GetSystemMenu(frm.hwnd, False)
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
Else
GetSystemMenu frm.hwnd, True
DrawMenuBar frm.hwnd
End If

End Sub