Désactiver le bouton agrandir de la fenetre access

Le
db
Bonjour

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

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6388191
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

Rv
Le #6388181
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" news:470be3f8$0$25952$
Bonjour

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

Merci




Thierry (ze Titi)
Le #6388171
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" 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


db
Le #6388141
Merci çà marche très bien !!
Thierry (ze Titi)
Le #6388131
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

Rv
Le #6387521
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)" 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" 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







Thierry (ze Titi)
Le #6387511
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

Rv
Le #6328911
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)" 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






Publicité
Poster une réponse
Anonyme