Anybody knows how to stop the Window Animation while minimizing a form? I want the form to be minimized right after i clicked on the Min-Button.
This is because i minimize into System Tray.
Thanks...
enigmatz
Printable View
Anybody knows how to stop the Window Animation while minimizing a form? I want the form to be minimized right after i clicked on the Min-Button.
This is because i minimize into System Tray.
Thanks...
enigmatz
Put the following code in a Module.
Code for a FormCode: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)
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const GWL_WNDPROC = (-4)
Const WM_NCLBUTTONUP = &HA2
Const WM_NCLBUTTONDOWN = &HA1
Const HTMINBUTTON = 8
Global WndProcOld As Long
Public Function WindProc(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wMsg& = WM_NCLBUTTONDOWN Then
If wParam = HTMINBUTTON Then
Form1.Visible = False
'You can change Form1.Visible = False to whatever code you
'want to be executed instead
End If
End If
WindProc = CallWindowProc(WndProcOld&, hwnd&, wMsg&, wParam&, lParam&)
End Function
Sub SubClassWnd(hwnd As Long)
WndProcOld& = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindProc)
End Sub
Sub UnSubclassWnd(hwnd As Long)
SetWindowLong hwnd, GWL_WNDPROC, WndProcOld&
WndProcOld& = 0
End Sub
Code:Private Sub Form_Load()
SubClassWnd Me.hwnd
End Sub
Private Sub Form_Unload(Cancel As Integer)
UnSubclassWnd Me.hwnd
End Sub