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

Désactiver le bouton agrandir de la fenetre access

8 réponses
Avatar
db
Bonjour

Je voudrais déactiver le bouton Agrandir/restaurer de la fenetre principale
d'access (2003).
Comment faire ?

Merci

8 réponses

Avatar
Thierry (ze Titi)
Hello db !

Code à coller dans un module quelconque:

Private Const GWL_STYLE As Long = -16

Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000

Private Declare Function GetWindowLong Lib "user32" Alias
"GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Public Function DisableMax()
SetWindowLong Application.hWndAccessApp, GWL_STYLE,
GetWindowLong(Application.hWndAccessApp, GWL_STYLE) Xor WS_MAXIMIZEBOX
SetWindowLong Application.hWndAccessApp, GWL_STYLE,
GetWindowLong(Application.hWndAccessApp, GWL_STYLE) Xor WS_MINIMIZEBOX
End Function

Ensuite, lance la procédure DisableMax dans ta macro AutoExec, ça doit
fonctionner.

En ce jour mémorable du mardi 09/10/2007, tu as émis l'idée suivante:
Bonjour

Je voudrais déactiver le bouton Agrandir/restaurer de la fenetre principale
d'access (2003).
Comment faire ?

Merci


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Rv
Salut,

Je pense que l'on peut adapter le code fournit sur le site de Raymond (entre
autre) qui permet de désactiver la fermeture d'access par la croix:
http://officesystem.access.free.fr/apidisablex.htm

A+

Rv


"db" a écrit dans le message de
news:470be3f8$0$25952$
Bonjour

Je voudrais déactiver le bouton Agrandir/restaurer de la fenetre
principale d'access (2003).
Comment faire ?

Merci




Avatar
Thierry (ze Titi)
Bonjour Rv !

Le tout serait encore d'expliquer comment... ;-)
J'ai essayé le code que j'ai donné, ça fonctionne sur 2003.

Message du mercredi 10/10/2007

Salut,

Je pense que l'on peut adapter le code fournit sur le site de Raymond (entre
autre) qui permet de désactiver la fermeture d'access par la croix:
http://officesystem.access.free.fr/apidisablex.htm

A+

Rv


"db" a écrit dans le message de
news:470be3f8$0$25952$
Bonjour

Je voudrais déactiver le bouton Agrandir/restaurer de la fenetre principale
d'access (2003).
Comment faire ?

Merci





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
db
Merci çà marche très bien !!
Avatar
Thierry (ze Titi)
Merci pour le retour !

Message du mercredi 10/10/2007

Merci çà marche très bien !!


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Rv
Salut,

Ta réponse est en effet plus complète que la mienne et je n'aurai pas
répondu si j'avais vu ta réponse avant de poster! :-)
Ceci dit il me semble que la solution que tu proposes et qui fonctionne est
trés proche de celle pour laquelle je donne une piste.
J'ai de mon côté testé une adaptation du code présent sur le site de Raymond
pour obtenir le résultat demandé.
Je n'ai pas donné plus de précisions car la modification me semble simple à
partir du moment ou l'on comprend ce code et je pense que le mieux pour
apprendre est de trouver la solution (en partie) par soi même.
De plus il est toujours bon de maitriser (un peu) un code avant de le
repiquer non?

A+

Rv


"Thierry (ze Titi)" a écrit dans le
message de news:
Bonjour Rv !

Le tout serait encore d'expliquer comment... ;-)
J'ai essayé le code que j'ai donné, ça fonctionne sur 2003.

Message du mercredi 10/10/2007

Salut,

Je pense que l'on peut adapter le code fournit sur le site de Raymond
(entre autre) qui permet de désactiver la fermeture d'access par la
croix:
http://officesystem.access.free.fr/apidisablex.htm

A+

Rv


"db" a écrit dans le message de
news:470be3f8$0$25952$
Bonjour

Je voudrais déactiver le bouton Agrandir/restaurer de la fenetre
principale d'access (2003).
Comment faire ?

Merci





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







Avatar
Thierry (ze Titi)
Bonjour Rv

De plus il est toujours bon de maitriser (un peu) un code avant de le
repiquer non?
Tout à fait d'accord avec toi. Mais j'aimerais bien que tu me donnes

l'adaptation que tu as faite du code de Raymond, juste pour avoir une
autre façon de faire.

Je n'ai pas donné plus de précisions car la modification me semble simple à
partir du moment ou l'on comprend ce code et je pense que le mieux pour
apprendre est de trouver la solution (en partie) par soi même.
Encore une fois d'accord. Mais la solution que j'ai proposée diffère du

code de Raymond, c'est pour ça que j'aimerais avoir ton code.

Ta réponse est en effet plus complète que la mienne et je n'aurai pas
répondu si j'avais vu ta réponse avant de poster! :-)
Sois certain que je ne critiquais pas ta réponse, je ne me le

permettrais pas. J'ai encore beaucoup trop à apprendre pour me
permettre de donner des leçons à qui que ce soit ! ;-)

@+

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Rv
Salut,

Je ne suis pas trés réactif car j'ai pas mal de taf ces jours-ci!
Bon alors voila, le code de Raymond était:


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


Public Function DisableX()
Dim hMenu As Long
Dim nCount As Long
Dim a As Long

hMenu = GetSystemMenu(Application.hWndAccessApp, 0)
nCount = GetMenuItemCount(hMenu)
Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
DrawMenuBar Application.hWndAccessApp
MsgBox ""
End Function

Je propose :

Public Function DisableMax()
Dim hMenu As Long
Dim nCount As Long
Dim a As Long

hMenu = GetSystemMenu(Application.hWndAccessApp, 0)
nCount = GetMenuItemCount(hMenu)
Call RemoveMenu(hMenu, nCount - 3, MF_REMOVE Or MF_BYPOSITION)
DrawMenuBar Application.hWndAccessApp
MsgBox ""
End Function

Testé en access 2003.
Pourquoi nCount-3 à la place de nCount-1? Je n'ai pas d'explication claire.
J'ai simplement testé -2 qui me semblait naturel mais qui ne fonctionnait
pas puis -3 qui fonctionne (sous 2003).

Au fait il n'y a pas de soucis je ne me suis pas sentis agressé et j'espère
que cela est réciproque ! :-)

Bonne continuation.

A+

Rv

"Thierry (ze Titi)" a écrit dans le
message de news:
Bonjour Rv

De plus il est toujours bon de maitriser (un peu) un code avant de le
repiquer non?
Tout à fait d'accord avec toi. Mais j'aimerais bien que tu me donnes

l'adaptation que tu as faite du code de Raymond, juste pour avoir une
autre façon de faire.

Je n'ai pas donné plus de précisions car la modification me semble simple
à partir du moment ou l'on comprend ce code et je pense que le mieux pour
apprendre est de trouver la solution (en partie) par soi même.
Encore une fois d'accord. Mais la solution que j'ai proposée diffère du

code de Raymond, c'est pour ça que j'aimerais avoir ton code.

Ta réponse est en effet plus complète que la mienne et je n'aurai
pas répondu si j'avais vu ta réponse avant de poster! :-)
Sois certain que je ne critiquais pas ta réponse, je ne me le permettrais

pas. J'ai encore beaucoup trop à apprendre pour me permettre de donner des
leçons à qui que ce soit ! ;-)

@+

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info