Установка
минимального размера окна |
Top
|
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_GETMINMAXINFO = &H24
Public Type POINTAPI
x As Long
y As Long
End Type
Public Type MINMAXINFO
ptReserved As POINTAPI
ptMaxSize As POINTAPI
ptMaxPosition As POINTAPI
ptMinTrackSize As POINTAPI
ptMaxTrackSize As POINTAPI
End Type
Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)
Использование: Для работы
данного примера вам понадобится специальный
контрол, Message Hooker. Взять его можно здесь: msghoo32.zip. Бросьте его на форму и вставьте
следующий код:
В Form_Load:
Msghook1.HwndHook = Me.hwnd
Msghook1.Message(WM_GETMINMAXINFO) = True
В Msghook1_Message:
Dim mmi As MINMAXINFO
CopyMem mmi, ByVal lp, Len(mmi)
mmi.ptMinTrackSize.x = 100 ' Минимальный размер по горизонтали, в пикселях
mmi.ptMinTrackSize.y = 100 ' Минимальный размер по вертикали, в пикселях
CopyMem ByVal lp, mmi, Len(mmi)
ОБСУДИТЬ СТАТЬЮ
НА ФОРУМЕ