在Resize事件中实现判断me.windowstate的值来区别最大化、最小化还是别的。Private Sub Form_Resize()
If Me.WindowState = 1 Then
'最小化
End If
If Me.WindowState = 2 Then
'最大化
End If
End Sub
If Me.WindowState = 1 Then
'最小化
End If
If Me.WindowState = 2 Then
'最大化
End If
End Sub
解决方案 »
- 一个关于DataGrid的问题
- 请问vaSpread和fpSpread有什么区别啊?哪个更好用,更通用呢?
- 請問滾動條的用法
- 打印嵌入ole中的excel报表??
- 使用DataEnvironment连接的数据库程序,编译后移植到别的机器上运行有什么条件?
- 系统的保留断口是多少啊!!在线等!~~~!
- 关于在任务列表中隐藏程序名的API函数是哪个?(急!急!!急!!!)
- 拍卖编程项目!地点:北京海淀,可以利用业余时间。
- 怎么隐藏和显示任务栏,请给出代码,(要响应高,速度快)!!
- windows ce下使用vb3.0调用VC3.0写的dll
- On Error Resume next 和 On Local Error Resume Next有什么区别?
- 哪位大哥扶小妹一把!!!!!!
检测syscommand消息
Option Explicit
Private Sub Form_Load()
oldwinproc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf OnMenu
End Sub
Private Sub Form_Unload(Cancel As Integer)
SetWindowLong Me.hWnd, GWL_WNDPROC, oldwinproc
End Submodule code
Option ExplicitPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public 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
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public oldwinproc As Long
Public Const WM_SYSCOMMAND = &H112Public Function OnMenu(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case wMsg
Case WM_SYSCOMMAND
Select Case wParam
Case 61472
Debug.Print "minimize"
Case 61728
Debug.Print "restore"
Case 61488
Debug.Print "maximize"
End Select
End Select
OnMenu = CallWindowProc(oldwinproc, hWnd, wMsg, wParam, lParam)
End Function
Option ExplicitPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public 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
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public oldwinproc As Long
Public Const WM_SYSCOMMAND = &H112Public Function OnMenu(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case wMsg
Case WM_SYSCOMMAND
Select Case wParam
Case 61472
Debug.Print "minimize"
Case 61728
Debug.Print "restore"
Case 61488
Debug.Print "maximize"
Case 61536
Debug.Print "close"
End Select
End Select
OnMenu = CallWindowProc(oldwinproc, hWnd, wMsg, wParam, lParam)
End Function