OVH Cloud OVH Cloud

Menu Fermer d'Access

4 réponses
Avatar
Jessy SEMPERE
Salut à tous

Je viens de choper un truc sur mpfVB
Souvent la question :
"Comment désactiver la croix d'Access ?"
a été posée et la plus part du temps, on disait
d'utiliser un formulaire et de gérer l'évènement UnLoad()...

Donc 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
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------

4 réponses

Avatar
Raymond
Bonjour Jessy.

Tu aurais pu le choper sur mon site à :
http://access.seneque.free.fr/supprimer_quitter.htm
mais je ne gère que la X. je testerai et updaterai mon site.

tu y vas toujours ? j'ai été obligé d'annuler. Bon séjour. Tu feras ton
compte-rendu personnel pour les absents ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jessy SEMPERE" a écrit dans le message de
news:bmgecn$m75$
Salut à tous


Avatar
Jessy SEMPERE
Salut
Bonjour Jessy.

Tu aurais pu le choper sur mon site à :
http://access.seneque.free.fr/supprimer_quitter.htm
mais je ne gère que la X. je testerai et updaterai mon site.


Si seulement j'avais internet, je ne passerais plus à côté
de choses aussi instructive...

tu y vas toujours ? j'ai été obligé d'annuler. Bon séjour. Tu feras ton
compte-rendu personnel pour les absents ?


Ben justement je comptais sur toi, j'ai aussi due annuler,
on a beaucoup trop de boulot et on m'a sucré mes congés
hier, donc j'ai prévenue que je ne pouvais pas y aller
et ben...

(c'est pour ça que je ne suis pas trop présent en ce moment
sur le NG - j'attends les remarques de Pierre CFI, le connaissant...)

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------

Avatar
Raymond
Il est très occupé et tu connais sa petite nature, il va en avoir pour 1
mois à se relever.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jessy SEMPERE" a écrit dans le message de
news:bmgfj4$n6c$
Salut
Bonjour Jessy.

Tu aurais pu le choper sur mon site à :
http://access.seneque.free.fr/supprimer_quitter.htm
mais je ne gère que la X. je testerai et updaterai mon site.


Si seulement j'avais internet, je ne passerais plus à côté
de choses aussi instructive...

tu y vas toujours ? j'ai été obligé d'annuler. Bon séjour. Tu feras ton
compte-rendu personnel pour les absents ?


Ben justement je comptais sur toi, j'ai aussi due annuler,
on a beaucoup trop de boulot et on m'a sucré mes congés
hier, donc j'ai prévenue que je ne pouvais pas y aller
et ben...

(c'est pour ça que je ne suis pas trop présent en ce moment
sur le NG - j'attends les remarques de Pierre CFI, le connaissant...)

@+
Jessy Sempere - Access MVP



Avatar
Jessy SEMPERE
Re,
Il est très occupé et tu connais sa petite nature, il va en avoir pour 1
mois à se relever.


Effectivement, il vient de me poser une question sur ma boîte perso
il est en formation...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------