控件移动

rosytree 2000-07-19 02:32:00
如我在窗口放置一Eidt控件,我希望能用鼠标自由拖动,该在它的什么事件里写程序,是不是通过改变它的left和top值来移动?我在onmousemove里写了一段程序,发现在移动的时候有抖动,还是应该在onstartdrag里写,该如何写.
谢谢各位大虾指点迷津.
...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pjy 2000-07-21
  • 打赏
  • 举报
回复
Michaelyfj网友,请给我一份:
MY EMAIL :PJYCLP@163.NET
Michaelyfj 2000-07-21
  • 打赏
  • 举报
回复
我有该构件。在程序运行后,能对诸如TEdit, TButton, TPanel等可视构件进行拖动,放大和缩小,需要的话请E-mail给我:yfj321@163.net
Michaelyfj 2000-07-21
  • 打赏
  • 举报
回复
TO PJY:
你准备给我多少分啊!少了我可不干
ploto 2000-07-19
  • 打赏
  • 举报
回复
如果仅仅要移动,用Un1的方法是可以的,只是在MouseMove事件中使用SetBounds函数即可,如果要自由缩放要使用透明窗口,我有示例代码,给我EMail, 我发一份给你.
Un1 2000-07-19
  • 打赏
  • 举报
回复
这个编程方法很好用:

Private lngXs As Long
Private lngYs As Long

Private Sub Form_Load()
lngXs = -1
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
lngXs = X
lngYs = Y
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If lngXs >= 0 Then
With Picture1
.Move .Left - lngXs + X, .Top - lngYs + Y
End With
End If
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
lngXs = -1
End Sub
LaoZheng 2000-07-19
  • 打赏
  • 举报
回复
你可以用一控件来处理。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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