Add A Minimize Button To Form That Has Fixed Border
If you
set the form border to be Fixed Single or Fixed Dialog, the form will appear
without the minimize button. This code shows you how to fix this problem.
Preparations
Set the form
BorderStyle property to 1 - Fixed Single or 3 - Fixed Dialog.
Module Code
Declare Function
GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd
As Long, ByVal nIndex As Long) As Long
Declare Function
SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd
As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const GWL_STYLE = (-16)
Public Const WS_MINIMIZEBOX =
&H20000
Public Const WS_MAXIMIZEBOX =
&H10000
Form Code
Private Function
AddMinimizeButton(po_Form As Form)
Dim ll_Style As
Long
'Get window
style
ll_Style = GetWindowLong(po_Form.hwnd,
GWL_STYLE)
'Add the minimize
button
Call SetWindowLong(po_Form.hwnd, GWL_STYLE,
ll_Style Or WS_MINIMIZEBOX)
End Function
Private Sub
Form_Load()
AddMinimizeButton Me
End Sub