各位,如何拖动窗体让其移动?位置产生变化?frmsplash窗体!(用拖放代码实现)

hxwfu 2000-05-02 10:22:00
各位,如何拖动窗体让其移动?位置产生变化?frmsplash窗体!(用拖放代码实现)
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shines77 2000-09-20
  • 打赏
  • 举报
回复
bamyl 和 Herro 的方法都不错。

bamyl的方法是模拟移动窗口,非即时的拖动(当然你改了Windows的设置也可以即时拖动),Herro的方法是即时的跟随拖动,简单快捷,不用API,但对于速度比较慢的机器显示有些许滞后。
Herro 2000-09-20
  • 打赏
  • 举报
回复
不用APi,完全代码可以实现,绝对经典!!!

Option Explicit

Dim mouseIsDown As Boolean
Dim cx As Single
Dim cy As Single

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

mouseIsDown = True
cx = X
cy = Y

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If mouseIsDown Then
Move Left + (X - cx), Top + (Y - cy)
End If

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

mouseIsDown = False

End Sub

0xFFCD 2000-09-19
  • 打赏
  • 举报
回复
http://lovevb.2699.com里有
bamyl 2000-09-19
  • 打赏
  • 举报
回复
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN = &HA1
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'功 能:无标题栏窗体的移动
'创建时间:2000-8-16 14:13
'修改时间:
'创 建 人:bamyl
'修 改 人:
On Error Resume Next
If Button = 1 Then
Dim ReturnVal As Long
X = ReleaseCapture()
ReturnVal = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End If

End Sub
shines77 2000-09-19
  • 打赏
  • 举报
回复
很简单吗,我记得我都回答过一次,可惜没给分。我去找找
SCUM 2000-09-19
  • 打赏
  • 举报
回复
用拖动无标题窗口的方法行不行,行的话搜索“无标题窗口”关键字,很多。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧