控件移动
如我在窗口放置一Eidt控件,我希望能用鼠标自由拖动,该在它的什么事件里写程序,是不是通过改变它的left和top值来移动?我在onmousemove里写了一段程序,发现在移动的时候有抖动,还是应该在onstartdrag里写,该如何写.
谢谢各位大虾指点迷津.
问题点数:132、回复次数:6Top
1 楼LaoZheng(阿明)回复于 2000-07-19 14:39:00 得分 0
你可以用一控件来处理。Top
2 楼Un1()回复于 2000-07-19 14:44:00 得分 32
这个编程方法很好用:
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
Top
3 楼ploto(亲亲土狗)回复于 2000-07-19 15:30:00 得分 50
如果仅仅要移动,用Un1的方法是可以的,只是在MouseMove事件中使用SetBounds函数即可,如果要自由缩放要使用透明窗口,我有示例代码,给我EMail, 我发一份给你.Top
4 楼Michaelyfj(星星还是那颗星星)回复于 2000-07-21 09:58:00 得分 50
我有该构件。在程序运行后,能对诸如TEdit, TButton, TPanel等可视构件进行拖动,放大和缩小,需要的话请E-mail给我:yfj321@163.netTop
5 楼pjy(古虫)回复于 2000-07-21 12:20:00 得分 0
Michaelyfj网友,请给我一份:
MY EMAIL :PJYCLP@163.NETTop
6 楼Michaelyfj(星星还是那颗星星)回复于 2000-07-21 13:36:00 得分 0
TO PJY:
你准备给我多少分啊!少了我可不干Top




