جابه جايي فرم توسط ماوس

سلام
frmMain.borderstyle=none
حتما متوجه شديد منظورم چيه...فرم من none هست و جايي براي كليك و تغيير مكان نداره
چطوري ميشه كدي رو نوشت كه با كليك رو فرم و drag كردن ماوس فرم هم جابه جا بشه
يعني كليك كنه و بعد هر جا ماوس رفت فرم هم بره ...
با تشكر ...
 

mahdiafsar

New Member
سلام
شما راه زياد داريد . ايده بگير انجام بده
مثلا شما مي خواهيد كه وقتي بالاي فرم توي يه محوطه خاص mouse پايين رفت و حركت كرد فرم جابجا بشه . اون محوطه را با يه كنترل يا اصلا بدون كنترل بايد مشخص بشه.
حالا وقتي mouse توي اون محوطه قرار گرفت توي event mouse down يه متغير سراسري را مثلا Isdown مقدار 1 مي دين و دو تا ديگه براي ذخيره محل mouse مثلا Mx,My . بعد توي event mouse move چك ميكني اگه mouse پايين بود مي گي:
form1.top:=form1.top+(y-My); -1
form1.left:=form1.left+(x-Mx); -2
بعد از اينا توي event mouse up بايد Isdown را عوض كني مثلا 0 بشه

اگه مشكل داشتي mail بزن تا يه سورس برات بفرستم
موفق باشي
 

a_mollaei

Member
سلام.
از اين كد استفاده كن.

کد:
Dim Fx As Single
Dim Fy As Single
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
fx = X
fy = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
    Me.Top = Me.Top + Y - fy
    Me.Left = Me.Left + X - fx
End If
End Sub

احتياجي هم به Flag براي تعيين Down بودن كليد نيست.
 

جدیدترین ارسال ها

بالا