FixMinMax




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 = (-16)
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Public Sub SetCaptionButtons(Frm As Form)
Dim lRet As Long
lRet = GetWindowLong(Frm.hWnd, GWL_STYLE)
SetWindowLong Frm.hWnd, GWL_STYLE, lRet Or _
WS_MINIMIZEBOX * (Abs(Frm.MinButton)) Or _
WS_MAXIMIZEBOX * (Abs(Frm.MaxButton))
End Sub

'You must call the subroutine SetCaptionButtons from the

'Form_Load event, passing a reference to your form. This

'should work in VB3 and VB4 16 with the proper 16-bit API

'declarations (see "Remove Min/Max Buttons From MDI Form").

VB doesn't display the Min and Max buttons in a form's caption
area when you specify BorderStyle Fixed Dialog. If you set the
MinButton and MaxButton properties on the form to True, the
Minimize and Maximize entries in the context menu are visible
ut the buttons are still invisible! To fix this,
add this code to a standard module:










( fixminmax.html )- by Paolo Puglisi - Modifica del 17/12/2023