Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

suppression de boutons

3 réponses
Avatar
Zeus198
j'ai trouvé sur internet la fonction disableX qui permet de desactiver la
croix de fermeture sous access.

Existe t il une fonction similaire pour desactiver les 2 autres boutons
(réduire et restaurer) ? si oui laquelle ?

merci d'avance

3 réponses

Avatar
Gilbert
Bonjour,

Voici la fonction que j'utilise et les différentes options que j'ai
essayées. Non garanties. Je te conseille de les vérifier.

Public Declare Function GetSystemMenu Lib "User32" (ByVal Hwnd As Long,
ByVal bRevert As Long) As Long
Public Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Long, ByVal
Position As Long, ByVal wFlags As Long) As Long
Public Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long)
As Long
Public Declare Function DrawMenuBar Lib "User32" (ByVal Hwnd As Long) As
Long
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000&

Public Function DisableX()
Dim hMenu As Long
Dim nCount As Long
hMenu = GetSystemMenu(Application.hWndAccessApp, 0)
nCount = GetMenuItemCount(hMenu)
'Get rid of the Close menu and its separator
Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
'Make sure the screen updates our change
DrawMenuBar Application.hWndAccessApp
End Function


'nCount-1 : Le bouton X est grisé et inopérant
'nCount-2 : L'option Fermer du menu de la barre de titre est supprimée (si
utilisé après nCount - 1, sinon rien ne se passe).
'nCount-3 : Le bouton Agrandir est inopérant mais non grisé. L'option
Agrandir du menu de la barre de titre est supprimée.Ne fonctionne pas si
utilisé après nCount - 4 (dans la même fonction).
'nCount-4 : Le bouton Réduire est inopérant mais non grisé. L'option Réduire
du menu de la barre de titre est supprimée. Ne fonctionne pas si utilisé
après nCount - 3 (même dans une autre fonction).

Gilbert





"Zeus198" a écrit dans le message de
news:
j'ai trouvé sur internet la fonction disableX qui permet de desactiver la
croix de fermeture sous access.

Existe t il une fonction similaire pour desactiver les 2 autres boutons
(réduire et restaurer) ? si oui laquelle ?

merci d'avance




Avatar
Jessy Sempere [MVP]
Bonjour

Tu peux utiliser le code qui suit, si tu ne précise pas l'argument, tous les
boutons seront masqués :

******************************************
Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long

Public Declare Function GetMenuItemCount Lib "user32" _
(ByVal hMenu As Long) As Long

Public 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

Global Const MF_BYPOSITION = &H400
Global Const MF_REMOVE = &H1000

Public Function MenuAccessInactif(Optional MenuItem)
'** MenuItem
'** 6 : Fermer
'** 5 : Barre de séparation
'** 4 : Agrandir
'** 3 : Reduire
'** 2 : Taille
'** 1 : Déplacer
'** 0 : Restaurer
'On Error Resume Next
Dim hMenu As Long
Dim menuItemCount As Long
Dim i As Integer
hMenu = GetSystemMenu(Application.hWndAccessApp, 0)
If hMenu Then
menuItemCount = GetMenuItemCount(hMenu)
If IsMissing(MenuItem) = True Then
For i = menuItemCount - 1 To 0 Step -1
Call RemoveMenu(hMenu, i, MF_REMOVE Or MF_BYPOSITION)
Next
Else
Call RemoveMenu(hMenu, MenuItem, MF_REMOVE Or MF_BYPOSITION)
End If
Call DrawMenuBar(Application.hWndAccessApp)
End If
End Function
******************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
en cours de migration vers : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Zeus198" a écrit dans le message de news:

j'ai trouvé sur internet la fonction disableX qui permet de desactiver la
croix de fermeture sous access.

Existe t il une fonction similaire pour desactiver les 2 autres boutons
(réduire et restaurer) ? si oui laquelle ?

merci d'avance



Avatar
Pierre CFI [mvp]
exellent pour l'acné juvénile :o)))) elle est trop bonne, bon, je vais au coin
t'es bientot en retraite non ? 50 ans les roulant, 40 les péres de famille, 30 les mvp, roulant et pére de famille

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Jessy Sempere [MVP]" a écrit dans le message de news:
Bonjour

Tu peux utiliser le code qui suit, si tu ne précise pas l'argument, tous les boutons seront masqués :

******************************************
Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long

Public Declare Function GetMenuItemCount Lib "user32" _
(ByVal hMenu As Long) As Long

Public 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

Global Const MF_BYPOSITION = &H400
Global Const MF_REMOVE = &H1000

Public Function MenuAccessInactif(Optional MenuItem)
'** MenuItem
'** 6 : Fermer
'** 5 : Barre de séparation
'** 4 : Agrandir
'** 3 : Reduire
'** 2 : Taille
'** 1 : Déplacer
'** 0 : Restaurer
'On Error Resume Next
Dim hMenu As Long
Dim menuItemCount As Long
Dim i As Integer
hMenu = GetSystemMenu(Application.hWndAccessApp, 0)
If hMenu Then
menuItemCount = GetMenuItemCount(hMenu)
If IsMissing(MenuItem) = True Then
For i = menuItemCount - 1 To 0 Step -1
Call RemoveMenu(hMenu, i, MF_REMOVE Or MF_BYPOSITION)
Next
Else
Call RemoveMenu(hMenu, MenuItem, MF_REMOVE Or MF_BYPOSITION)
End If
Call DrawMenuBar(Application.hWndAccessApp)
End If
End Function
******************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
en cours de migration vers : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Zeus198" a écrit dans le message de news:
j'ai trouvé sur internet la fonction disableX qui permet de desactiver la croix de fermeture sous access.

Existe t il une fonction similaire pour desactiver les 2 autres boutons (réduire et restaurer) ? si oui laquelle ?

merci d'avance