- '按窗体的任何部份皆可拖动窗体,假定窗体名为Form1
- '声明部份
- Declare Function ReleaseCapture Lib "user32" () As Long
- 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_SYSCOMMAND =
- Public Const SC_MOVE =
- '窗体的代码
- Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
- ReleaseCapture
- SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
- End Sub
- 如果包含一个可以接受MOUSEDOWN事件的控件,如Label1,下面代码也可拖动窗体
- Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
- ReleaseCapture
- SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
- End Sub
VB 窗体的任何部分皆可拖动窗体
最新推荐文章于 2023-02-14 22:37:28 发布
本文介绍了一种使窗体能够通过点击窗体上的任意位置进行拖动的方法。通过使用ReleaseCapture和SendMessage函数,并发送WM_SYSCOMMAND消息,使得窗体响应鼠标拖动事件。这种方法不仅适用于窗体本身,还可以应用于窗体上的控件。
1086

被折叠的 条评论
为什么被折叠?



