Disable Restore Down button

Status
Niet open voor verdere reacties.

Techneut

Gebruiker
Lid geworden
23 mrt 2007
Berichten
20
Graag wil ik de Restore Down-button disablen in MS Access. (Dat middelste hokje helemaal rechts in je beeldscherm als je Access op start.

Trek op dit moment al mijn haren uit mijn hoofd:mad:.. want Minimize en Close heb ik wel voor elkaar gekregen...:p

pff iemand een idee???

Thnx a lot.....
 
MinMax

Probeer de eigenschap Min.- en max.-knop (MinMaxButtons) van het formulier eens. Heb je hier iets aan?
 
Api

Als je de minmaxbutton van het access-programma zelf wilt beinvloeden, dan heb je misschien iets aan de volgende code:
Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_SYSMENU = &H80000
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_FRAMECHANGED = &H20

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

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Function Buttons(Show As Boolean) As Long
Dim hwnd As Long, nIndex As Long, dwNewLong As Long, dwLong As Long

hwnd = hWndAccessApp
nIndex = GWL_STYLE

Const wFlags = SWP_NOSIZE + SWP_FRAMECHANGED + SWP_NOMOVE
Const FLAGS_COMBI = WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SYSMENU

dwLong = GetWindowLong(hwnd, nIndex)

If Show Then
dwNewLong = (dwLong Or FLAGS_COMBI)
Else
dwNewLong = (dwLong And Not FLAGS_COMBI)
End If

Call SetWindowLong(hwnd, nIndex, dwNewLong)
Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags)
End Function

Zet de code in een module en roep de functie Buttons(0) aan. Met Buttons(-1) komen ze weer terug.
 
Toppie.. werkt.. maar....

Als je de minmaxbutton van het access-programma zelf wilt beinvloeden, dan heb je misschien iets aan de volgende code:
Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_SYSMENU = &H80000
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_FRAMECHANGED = &H20

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

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Function Buttons(Show As Boolean) As Long
Dim hwnd As Long, nIndex As Long, dwNewLong As Long, dwLong As Long

hwnd = hWndAccessApp
nIndex = GWL_STYLE

Const wFlags = SWP_NOSIZE + SWP_FRAMECHANGED + SWP_NOMOVE
Const FLAGS_COMBI = WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SYSMENU

dwLong = GetWindowLong(hwnd, nIndex)

If Show Then
dwNewLong = (dwLong Or FLAGS_COMBI)
Else
dwNewLong = (dwLong And Not FLAGS_COMBI)
End If

Call SetWindowLong(hwnd, nIndex, dwNewLong)
Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags)
End Function

Zet de code in een module en roep de functie Buttons(0) aan. Met Buttons(-1) komen ze weer terug.


Dit werkt fantastisch en yep.. ze verdwijnen :thumb:, maar heb toch nog een vraag...

Indien men op de blauwe balk helemaal bovenin nu dubbelklikt, wordt het Access-scherm alsnog verkleind, of als men de muis er op zet, klikt en vasthoudt, kan met de gehele Access-scherm over het gehele beeldscherm verplaatsen :shocked:.

Liever zie ik dat dit niet gebeurd :p

Men mag alleen het scherm zien wat ze op dat moment zien. Maw... het scherm is bevroren op de beeldbuis :cool:.

Ben nl bezig met een wachtwoorden-database en wil dat men alleen in het scherm kunnen werken, zonder dat de werkscherm (op welke manier dan ook) kan worden verplaatst, verkleind om zo alsnog op het bureaublad te komen :D.

Wordt allemaal wel dichtgegooid met policies (draait op een standalone XP-bak) enzo, maar zou fijn zijn om dit in Access te ondervangen :thumb:.

Idee :confused: ??
 


Hmm.. idee is goed.. want kan inderdaad het scherm niet meer verplaatsen.. maar dan wel zo dat ik helemaal niets meer kan :D

Iets te veel bevroren op het scherm :rolleyes:

Nadat ik Acces opnieuw had opgestart, leek het erop dat het nu niets van de code aantrok. maw.. kon gewoon mijn scherm alsnog verplaatsen...

Wat doe ik nu toch fout :( ???
 
Misschien een formulier zonder systeemmenu op basis van PopUp Modaal?

Zie bijlage.

mvg
Charles
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan