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

Quit X

3 réponses
Avatar
Guy du Lac
Bonjour ou Bonsoir,

Partout dans mon application, je voudrais déactiver le X qui permet de
quitter Access.

J'ai essayé la fonction DisableX proposé par Raymond mais cela ne fonctionne
pas. J'utilse Access 2007 avec XP ou Vista. Quelqu'un a une idée?

--
Merci,
Guy du Lac

3 réponses

Avatar
Cinémas Décavision
Salut Guy du Lac,

Voici ce que j'ai dans un BD sous Access 2000 et cela fonctionne bien.

Le module pour enlever le X de Quit

Option Compare Database
Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000

Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long

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

Public Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long



Et pour le bouton dans le forms, voilà ce que j'ai :


Private Sub cmdX_Click()


' Obtenez la main du systeme menu du formulaire

hMenu = GetSystemMenu(Application.hWndAccessApp, 0)

If hMenu Then

' Obtenez le nombre d'articles dans le menu

menuItemCount = GetMenuItemCount(hMenu)

' Remove the system menu
Fermeture,Agrandissement,Réduction,Dimension,Déplacement
' separator line, Restauration
'--
For i = 1 To menuItemCount
Call RemoveMenu(hMenu, menuItemCount - i, MF_REMOVE Or
MF_BYPOSITION)
Next

'Force à redessinez le menu. Cela rafraîchit le titlebar, en bloquant
le X
Call DrawMenuBar(Application.hWndAccessApp)

End If


End Sub




--
Bernard FANGET Movie Room Manager
Multiplexe Cinema DECAVISION - 7 avenue de Brogny
74000 ANNECY France
Fax : 04 50 52 58 31


http://www.decavision.com/
Avatar
Guy du Lac
Salut Bernard,

J'ai essayé ton code sans plus de succès. Je pense que le problème est lié à
Access2007.

J'aimerais savoir si quelqu'un a essayé le code de Raymond dans une base 2007
--
Merci,
Guy du Lac



Salut Guy du Lac,

Voici ce que j'ai dans un BD sous Access 2000 et cela fonctionne bien.

Le module pour enlever le X de Quit

Option Compare Database
Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000

Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long

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

Public Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long



Et pour le bouton dans le forms, voilà ce que j'ai :


Private Sub cmdX_Click()


' Obtenez la main du systeme menu du formulaire

hMenu = GetSystemMenu(Application.hWndAccessApp, 0)

If hMenu Then

' Obtenez le nombre d'articles dans le menu

menuItemCount = GetMenuItemCount(hMenu)

' Remove the system menu
Fermeture,Agrandissement,Réduction,Dimension,Déplacement
' separator line, Restauration
'--
For i = 1 To menuItemCount
Call RemoveMenu(hMenu, menuItemCount - i, MF_REMOVE Or
MF_BYPOSITION)
Next

'Force à redessinez le menu. Cela rafraîchit le titlebar, en bloquant
le X
Call DrawMenuBar(Application.hWndAccessApp)

End If


End Sub




--
Bernard FANGET Movie Room Manager
Multiplexe Cinema DECAVISION - 7 avenue de Brogny
74000 ANNECY France
Fax : 04 50 52 58 31


http://www.decavision.com/





Avatar
Guy du Lac
Désolé, voici le lien pour voir le code que j'ai copié dans ma bd.
http://officesystem.access.free.fr/apidisablex.htm
--
Merci,
Guy du Lac



Salut Bernard,

J'ai essayé ton code sans plus de succès. Je pense que le problème est lié à
Access2007.

J'aimerais savoir si quelqu'un a essayé le code de Raymond dans une base 2007
--
Merci,
Guy du Lac



Salut Guy du Lac,

Voici ce que j'ai dans un BD sous Access 2000 et cela fonctionne bien.

Le module pour enlever le X de Quit

Option Compare Database
Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Const MF_BYPOSITION = &H400
Public Const MF_REMOVE = &H1000

Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long

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

Public Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long



Et pour le bouton dans le forms, voilà ce que j'ai :


Private Sub cmdX_Click()


' Obtenez la main du systeme menu du formulaire

hMenu = GetSystemMenu(Application.hWndAccessApp, 0)

If hMenu Then

' Obtenez le nombre d'articles dans le menu

menuItemCount = GetMenuItemCount(hMenu)

' Remove the system menu
Fermeture,Agrandissement,Réduction,Dimension,Déplacement
' separator line, Restauration
'--
For i = 1 To menuItemCount
Call RemoveMenu(hMenu, menuItemCount - i, MF_REMOVE Or
MF_BYPOSITION)
Next

'Force à redessinez le menu. Cela rafraîchit le titlebar, en bloquant
le X
Call DrawMenuBar(Application.hWndAccessApp)

End If


End Sub




--
Bernard FANGET Movie Room Manager
Multiplexe Cinema DECAVISION - 7 avenue de Brogny
74000 ANNECY France
Fax : 04 50 52 58 31


http://www.decavision.com/