OK put this code into a standard module:<pre>
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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 Const GWL_STYLE As Long = (-16) 'The offset of a window's style
Private Const WS_SYSMENU As Long = &H80000 'Style to add a system menu
Private Const WS_MINIMIZEBOX As Long = &H20000 'Style to add a Minimize box on the title bar
Private Const WS_MAXIMIZEBOX As Long = &H10000 'Style to add a Maximize box to the title bar
Public Sub MinMax(sCaption As String)
Dim iStyle As Long
'Get handle to userform
If Val(Application.Version)< 9 Then
hWndForm = FindWindow("ThunderXFrame", sCaption) 'XL97
Else
hWndForm = FindWindow("ThunderDFrame", sCaption) 'XL2000
End If
'Get the basic window styles
iStyle = GetWindowLong(hWndForm, GWL_STYLE)
'Add System menu
iStyle = iStyle Or WS_SYSMENU
'Add minimise button
iStyle = iStyle Or WS_MINIMIZEBOX
'Add maximise button
iStyle = iStyle Or WS_MAXIMIZEBOX
'Set the basic window styles
SetWindowLong hWndForm, GWL_STYLE, iStyle
End Sub</pre>
Now in you userform initialise (initialize?) event use this code to call it:<pre>
MinMax me.Caption</pre>
Basically, for this routine to work we're just sending the userform's caption then the subroutine works it's magic.
Need to reference my source on this one.<ahref:=
http://www.bmsltd.co.uk/Excel/Default.htm
HTH
_________________<font color = green>
Mark O'Brien
This message was edited by Mark O'Brien on 2002-03-01 07:12
This message was edited by Mark O'Brien on 2002-03-01 07:33