sa1378
جمعه 02 خرداد 1393, 14:37 عصر
سلام
این کد برای اینه که shape وقتی رو یه نقطه کلیک میکنیم راه بیافته و به اون سمت بره و تا آخر ادامه بده
ولی کدم دو تا اشکال داره
یکی که دو اول اجرا فرم shape میاد توی مختصات (0و0)
یک دیگه هم اینکه وقتی رو نقطه کلیک میکنیم سریع میاد به همون نقطه و دیگه جلو نمیره
لطفا اشکالش رو برطرف کنین و کد درست رو بدین:
Dim b As Boolean
Dim l As Integer
Dim t As Integer
Option Explicit
Private Sub Form_Load()
Shape.Left = Me.Width / 2
Shape.Top = Me.Height / 2
l = 0
t = 0
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
l = 0
t = 0
b = True
Line1.X2 = X
Line1.Y2 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If b = True Then
Line1.X2 = X
Line1.Y2 = Y
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
b = False
l = X
t = Y
End Sub
Private Sub Timer_Timer()
Shape.Left = Shape.Left + (l - (Shape.Left + (Shape.Width / 2)))
Shape.Top = Shape.Top + (t - (Shape.Top + (Shape.Height / 2)))
End Sub
این کد برای اینه که shape وقتی رو یه نقطه کلیک میکنیم راه بیافته و به اون سمت بره و تا آخر ادامه بده
ولی کدم دو تا اشکال داره
یکی که دو اول اجرا فرم shape میاد توی مختصات (0و0)
یک دیگه هم اینکه وقتی رو نقطه کلیک میکنیم سریع میاد به همون نقطه و دیگه جلو نمیره
لطفا اشکالش رو برطرف کنین و کد درست رو بدین:
Dim b As Boolean
Dim l As Integer
Dim t As Integer
Option Explicit
Private Sub Form_Load()
Shape.Left = Me.Width / 2
Shape.Top = Me.Height / 2
l = 0
t = 0
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
l = 0
t = 0
b = True
Line1.X2 = X
Line1.Y2 = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If b = True Then
Line1.X2 = X
Line1.Y2 = Y
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
b = False
l = X
t = Y
End Sub
Private Sub Timer_Timer()
Shape.Left = Shape.Left + (l - (Shape.Left + (Shape.Width / 2)))
Shape.Top = Shape.Top + (t - (Shape.Top + (Shape.Height / 2)))
End Sub