Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Dec 22, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Make Buttons Appear

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-but the buttons are still invisible! To fix this, add this code to a standard module:
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").
Geir A.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date