运行状态下如何用鼠标移动 Frame 控件????
怎样在程序运行的状态下 用鼠标移动窗体上的控件??可以随意放在哪里....~!!我想移动 Frame 控件,应该怎么办呢?? --------------------编程问答-------------------- MouseDown MouseMove MouseUp
前事件,記住要移動了,中事件開始移動,後事件結束移動。 --------------------编程问答-------------------- 突然想吃橙~ --------------------编程问答-------------------- Dim oldX As Single, oldY As Single
Private Sub Frame1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
oldX = X
oldY = Y
End Sub
Private Sub Frame1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Frame1.Move Frame1.Left + X - oldX, Frame1.Top + Y - oldY
End Sub
--------------------编程问答-------------------- 3 楼的代码我改进了下!
====cike例题====
name = 移动框架控件
form = Frame1
效果 = 可以随意拖动 框架的位置
================
--------------------编程问答-------------------- 路过 --------------------编程问答-------------------- 向大家学习了. --------------------编程问答-------------------- 这个简单啊,网上搜一下就得到答案了. --------------------编程问答-------------------- 有问题请先GOOGLE,BAIDU
Dim a As Boolean ' 这个变量记录了是否在按下状态
Dim oldx As Integer ' 这个变量记录了 未移动的X 位置
Dim oldy As Integer ' 这个变量记录了 未移动的Y 位置
Private Sub Frame1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
a = True '鼠标在 框架上按下时候 记录已经按下
oldx = X '同时记录当前位置 X
oldy = Y '同时记录当前位置 Y
End Sub
Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' 若按下 就移动 当前位置-移动位置=移动值
'具体可以参考move 函数
If a = True Then Frame1.Move Frame1.Left + X - oldx, Frame1.Top + Y - oldy
End Sub
Private Sub Frame1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
a = False '鼠标放开后 记录
End Sub
补充:VB , 控件