Как сделать видимыми кнопки Minimize/Maximize
В некоторых случаях бывает необходимо задать свойство BorderStyle какой-либо формы как Fixed Dialog, и тогда VB не выводит кнопки Minimize и Maximize в поле заголовка формы. Теперь, если задать для этой же формы свойства MinButton и MaxButton как True, команды Minimize и Maximize в контекстном меню формы станут видимыми. Однако сами кнопки на форме останутся по-прежнему невидимыми. Чтобы исправить эту ошибку, введите следующий код в стандартный модуль:
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) -
As Long
Public 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_MAXIMIZEBOX = &H10000
Public Const WS_MINIMIZEBOX = &H20000
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
Теперь следует вызвать подпрограмму SetCaptionButtons из события Form_Load, передав ссылку на вашу форму.
Юрасов Михаил
|