suppression de boutons

Le
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
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Gilbert
Le #6238391
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" 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




Jessy Sempere [MVP]
Le #6237901
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"
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



Pierre CFI [mvp]
Le #6237881
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]"
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"
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







Poster une réponse
Anonyme