PDA

View Full Version : حرکت لیبل رو فرم



حسین علوی
یک شنبه 15 مرداد 1391, 19:56 عصر
سلام به تمام دوستان
یک فرم دارم که چندتا لیبل روی اون هست میخام وقتی که برنامه رو اجرا میکنم کاربر بتونه لیبلها رو با درگ جابجا کنه(برای چاپ روی چک) باید با لیبلها چکارکنم که این خصوصیت رو داشته باشن؟ :متفکر:
با تشکر فراوان

محسن واژدی
یک شنبه 15 مرداد 1391, 20:24 عصر
سلام علیکم
یک Label1 بر روی فرم قرار بدهید، و کد زیر را بررسی کنید: Dim SX1!, SY1!
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Left = X - SX1!
Source.Top = Y - SY1!
End Sub


Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Drag
End Sub


Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
SX1! = X
SY1! = Y
End Sub


موفق باشید

program2vb
یک شنبه 15 مرداد 1391, 23:16 عصر
سلام به تمام دوستان
یک فرم دارم که چندتا لیبل روی اون هست میخام وقتی که برنامه رو اجرا میکنم کاربر بتونه لیبلها رو با درگ جابجا کنه(برای چاپ روی چک) باید با لیبلها چکارکنم که این خصوصیت رو داشته باشن؟ :متفکر:
با تشکر فراوان

سلام به شما دوست عزیز

جواب آقای محسن درست هست و مشکلی نداره اگه خواستی میتونی اینم یه نگاهی بکن

موفق و پیروز باشید یاعلی

arenaw
یک شنبه 15 مرداد 1391, 23:21 عصر
سلام
این کدی که من نوشتم از drag & drop خود ویبی استفاده نمیکنه (امتحان کن فرقشونو متوجه میشی)

Dim whileDrag As Boolean, Xd As Single, Yd As Single
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
whileDrag = True
Xd = X
Yd = Y
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If whileDrag = True And Button = 1 Then
Label1.Left = Label1.Left + X - Xd
Label1.Top = Label1.Top + Y - Yd
End If

End Sub
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
whileDrag = False
End Sub