OVH Cloud OVH Cloud

Empecher de quitter Access...

4 réponses
Avatar
Christian Gauthier
J'aimerais savoir si c'est possible d'enlever le=20
bouton "X" (fermeture) et l'option "Fichier - Quitter"=20
d'Access.

J'ai un bouton "Quitter" que j'ai programm=E9 et j'aimerais=20
que mon bouton soit la seule facon de pouvoir quitter mon=20
application Access.

Est-ce possible ??

Merci,

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Voici le code utilisant les API qui permet d'iniber les
menu d'une application (Fermer - Restaurer - Agrandir - ...)
L'utiliter est par exemple si l'on souhaite faire une sauvegarde
à la sortie d'une application, il suffit d'utiliser cette fonction
à l'ouverture et ensuite de faire un menu personnalisé avec
la commande quitter.
L'utilisateur sera obligé de passer par le menu pour quitter
donc en gros on peut lancer tout ce qu'on veut avant lorsque
l'utilisateur choisira de quitter par le menu...

Voici le code que j'ai adapté par rapport à la source de mpfVB :
**********************************************
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/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Christian Gauthier" a écrit dans le
message news: 09d401c3c95c$a4a7a410$
J'aimerais savoir si c'est possible d'enlever le
bouton "X" (fermeture) et l'option "Fichier - Quitter"
d'Access.

J'ai un bouton "Quitter" que j'ai programmé et j'aimerais
que mon bouton soit la seule facon de pouvoir quitter mon
application Access.

Est-ce possible ??

Merci,
Avatar
Bonjour,

Je l'ai essayé, ca désactive le "X" de ma fenêtre, mais ca
laisse le menu "Fichier - Quitter". Peux-t-on désactiver
cela également ?

-----Message d'origine-----
Bonjour

Voici le code utilisant les API qui permet d'iniber les
menu d'une application (Fermer - Restaurer - Agrandir -
...)

L'utiliter est par exemple si l'on souhaite faire une
sauvegarde

à la sortie d'une application, il suffit d'utiliser cette
fonction

à l'ouverture et ensuite de faire un menu personnalisé
avec

la commande quitter.
L'utilisateur sera obligé de passer par le menu pour
quitter

donc en gros on peut lancer tout ce qu'on veut avant
lorsque

l'utilisateur choisira de quitter par le menu...

Voici le code que j'ai adapté par rapport à la source de
mpfVB :

**********************************************
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/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Christian Gauthier"
a écrit dans le

message news: 09d401c3c95c$a4a7a410$
J'aimerais savoir si c'est possible d'enlever le
bouton "X" (fermeture) et l'option "Fichier - Quitter"
d'Access.

J'ai un bouton "Quitter" que j'ai programmé et j'aimerais
que mon bouton soit la seule facon de pouvoir quitter mon
application Access.

Est-ce possible ??

Merci,


.



Avatar
Jessy Sempere [MVP]
Re,

Le mieux et de se créer une menu personnalisé où tu ne mets pas la
possibilité de quitter, ensuite tu définis ton menu personalisé comme
menu de ta base dans les propriétés de démarrage de ta base de donnée

PS : Pour créer un menu personnaliser, il faut utiliser les macro et les
convertir
en menu à l'aide de :
"Menu : Outils - Macros - Créer une menu d'après macro"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le message news:
095f01c3c96b$912d13c0$
Bonjour,

Je l'ai essayé, ca désactive le "X" de ma fenêtre, mais ca
laisse le menu "Fichier - Quitter". Peux-t-on désactiver
cela également ?

-----Message d'origine-----
Bonjour

Voici le code utilisant les API qui permet d'iniber les
menu d'une application (Fermer - Restaurer - Agrandir -
...)

L'utiliter est par exemple si l'on souhaite faire une
sauvegarde

à la sortie d'une application, il suffit d'utiliser cette
fonction

à l'ouverture et ensuite de faire un menu personnalisé
avec

la commande quitter.
L'utilisateur sera obligé de passer par le menu pour
quitter

donc en gros on peut lancer tout ce qu'on veut avant
lorsque

l'utilisateur choisira de quitter par le menu...

Voici le code que j'ai adapté par rapport à la source de
mpfVB :

**********************************************
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/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Christian Gauthier"
a écrit dans le

message news: 09d401c3c95c$a4a7a410$
J'aimerais savoir si c'est possible d'enlever le
bouton "X" (fermeture) et l'option "Fichier - Quitter"
d'Access.

J'ai un bouton "Quitter" que j'ai programmé et j'aimerais
que mon bouton soit la seule facon de pouvoir quitter mon
application Access.

Est-ce possible ??

Merci,


.



Avatar
Bonjour,

Merveilleux, merci beaucoup !

-----Message d'origine-----
Re,

Le mieux et de se créer une menu personnalisé où tu ne
mets pas la

possibilité de quitter, ensuite tu définis ton menu
personalisé comme

menu de ta base dans les propriétés de démarrage de ta
base de donnée


PS : Pour créer un menu personnaliser, il faut utiliser
les macro et les

convertir
en menu à l'aide de :
"Menu : Outils - Macros - Créer une menu d'après macro"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
a écrit dans le
message news:

095f01c3c96b$912d13c0$
Bonjour,

Je l'ai essayé, ca désactive le "X" de ma fenêtre, mais ca
laisse le menu "Fichier - Quitter". Peux-t-on désactiver
cela également ?

-----Message d'origine-----
Bonjour

Voici le code utilisant les API qui permet d'iniber les
menu d'une application (Fermer - Restaurer - Agrandir -
...)

L'utiliter est par exemple si l'on souhaite faire une
sauvegarde

à la sortie d'une application, il suffit d'utiliser cette
fonction

à l'ouverture et ensuite de faire un menu personnalisé
avec

la commande quitter.
L'utilisateur sera obligé de passer par le menu pour
quitter

donc en gros on peut lancer tout ce qu'on veut avant
lorsque

l'utilisateur choisira de quitter par le menu...

Voici le code que j'ai adapté par rapport à la source de
mpfVB :

**********************************************
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/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Christian Gauthier"
a écrit dans le

message news: 09d401c3c95c$a4a7a410$
J'aimerais savoir si c'est possible d'enlever le
bouton "X" (fermeture) et l'option "Fichier - Quitter"
d'Access.

J'ai un bouton "Quitter" que j'ai programmé et j'aimerais
que mon bouton soit la seule facon de pouvoir quitter mon
application Access.

Est-ce possible ??

Merci,


.




.