تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحريك عناصر متشابهة
#1
السلام عليكم

اطلب كود تحريك عدة تكست بوكس ( 1 و 2 و 3 و 4 و 5 و 6 و 7 ) بالطريقة نفسها التي يتم بها تحريك تكست0
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

- قم بتسمية جميع التكستات بإسم واحد لكي تكون في مصفوفة ، ثم إستخدم هذا الكود ، فقط غير إسم ال Picture1 إلى الإسم الموحد للتكستات :

كود :
Dim SSX As Integer
Dim SSY As Integer

Private Sub Picture1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
SSX = X
SSY = Y
End Sub

Private Sub Picture1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
   Picture1(Index).Left = Picture1(Index).Left + X - SSX
   Picture1(Index).Top = Picture1(Index).Top + Y - SSY
End If
End Sub

- تحياتي .
الرد }}}
تم الشكر بواسطة:
#3
VB_Coder كتب :السلام عليكم

- قم بتسمية جميع التكستات بإسم واحد لكي تكون في مصفوفة ، ثم إستخدم هذا الكود ، فقط غير إسم ال Picture1 إلى الإسم الموحد للتكستات :

كود :
Dim SSX As Integer
Dim SSY As Integer

Private Sub Picture1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
SSX = X
SSY = Y
End Sub

Private Sub Picture1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
   Picture1(Index).Left = Picture1(Index).Left + X - SSX
   Picture1(Index).Top = Picture1(Index).Top + Y - SSY
End If
End Sub

- تحياتي .

لا لكل تكست و لنطبق المصفوفة احداثيات معينة فالمطلوب انه اذا حركت ذو الاندكس=0 اريد ان يتحرك ذو الاندكسات من 1-7 دفعة واحدة بنفس الطريقة و نفس المسافة
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم...

1. كما قال أخونا VB_Coder: قم بتسمية كل الـ TextBoxes المعنية بنفس الاسم حتى تكون في مصفوفة مكونات.
2. انسخ الكود التالي و قم بتغيير Text1 إلى الاسم الذي لديك:
كود :
Private StartX As Single
Private StartY As Single

Private Sub Text1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    StartX = X
    StartY = Y
End Sub

Private Sub Text1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Dim Idx As Long    ' احذف هذا السطر
    Dim Ctrl As Control
    
    If Button = vbLeftButton Then
        For Each Ctrl In Text1
            Ctrl.Left = Ctrl.Left + X - StartX
            Ctrl.Top = Ctrl.Top + Y - StartY
        Next Ctrl

        ' لا تستعمل هذه الطريقة. احذف الأسطر الأربعة التالية
'        For Idx = Text1.LBound To Text1.UBound
'            Text1(Idx).Left = Text1(Idx).Left + X - StartX
'            Text1(Idx).Top = Text1(Idx).Top + Y - StartY
'        Next Idx
    
    End If
End Sub

* كما هو مذكور في الكود، لا تستعمل حلقة For ... Next العادية ذات العداد الرقمي لأنها ستتسبب في حدوث خطأ في حالة حذف أحد الـ TextBoxes المنتمية للمصفوفة. بالإضافة إلى ذلك فإن استعمال حلقة For ... Next ستحتاج منك إلى إعادة تعديل الكود إذا قمت بإنقاص أو زيادة عدد الـ TextBoxes المنتمية للمصفوفة، أما استعمال حلقة For Each فإنها لا تتسبب في الخطأ المذكور، و لا تحتاج إلى تعديل لأنه لا يهمها عدد المكونات في المصفوفة.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة:
#5
تمام اخوان مشكورون
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كود تحريك الكلام الحلوانى 2 2,633 30-11-16, 08:05 PM
آخر رد: الحلوانى
Sad [سؤال] سؤال صغير في فيجوال بيسك 6 تحريك الفورم Hell Cell 2 2,772 17-12-14, 10:52 PM
آخر رد: Hell Cell
  الغاء تحريك asto 1 2,086 26-08-13, 05:59 AM
آخر رد: ناجي إبراهيم
  كيف يتم تحريك الصور Image على سطح الفورم عن طريق الماوس ؟؟ softmail8 2 3,921 23-04-13, 04:19 PM
آخر رد: softmail8

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم