Show/Hide Minimize/Maximize Button in Excel 2007/2010

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I found this code posted by Chip Pearson on the internet.

Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const GWL_STYLE = (-16)

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

Sub ShowMinMax(ShowMin As Boolean, ShowMax As Boolean)
Dim WinInfo As Long
WinInfo = GetWindowLong(Application.HWnd, GWL_STYLE)

If ShowMin = True Then
WinInfo = WinInfo Or WS_MINIMIZEBOX
Else
WinInfo = WinInfo And (Not WS_MINIMIZEBOX)
End If
If ShowMax = True Then
WinInfo = WinInfo Or WS_MAXIMIZEBOX
Else
WinInfo = WinInfo And (Not WS_MAXIMIZEBOX)
End If
SetWindowLong Application.HWnd, GWL_STYLE, WinInfo
End Sub

How do I pass a variable to implement the ShowMinMax routine?

TIA
 
Sub GetStarted
Dim BigSize as Boolean
Dim SmallSize as Boolean

BigSize = True
Call ShowMinMax(SmallSize, BigSize)
End Sub

Thank you so much.

It's interesiting to note the effect of the four different combination
possibilities.

BigSize = False, SmallSize = False hides both restore and minimize
buttons.

BigSize = True, SmallSize = True restores/shows both restore and
minimize buttons.

BigSize = True, SmallSize = False - Shows both buttons with the
minimize button deactivated.

BigSize = False, SmallSize = True - Shows both buttons with the
restore button deactivated.

Again, Thank You. Your help is appreciated.
 
Back
Top