تم النشر منذ 28 Mar 2013 كيفية كتابة كود لمربع يتحرك بأبعاد الماوس بلغة vb 6؟؟؟؟فعندما نضغط على مكان معين بالماوس داخل picture يتحرك المربع بأتجاه مــــــــــــــــــــــــــــــــــــــــع الشكـــــــــــــــــــر والتقـــــــــــــــــــــــدير 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 28 Mar 2013 السلام عليكم... أفترض أنه يوجد Shape اسمه Shape1 داخل PictureBox اسمه Picture1. 1. لوضع مركز الـ Shape1 عند النقطة التي يتم النقر عليها داخل الـ Picture1 يكون الكود بسيطاً: سطر واحد كالتالي في الحدث MouseDown لـ Picture1:Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then Shape1.Move X - Shape1.Width \ 2, Y - Shape1.Height \ 2 End IfEnd Sub 2. أما لإمساك الـ Shape1 بالفأرة و تحريكه أينما تحرك مؤشر الفأرة فإن الكود أطول قليلاً لأن الـ Shape في Visual Basic 6 لا يستجيب لأية أحداث (ليس له إجراءات). و الكود كالتالي:' في قسم التصريحات العام. متغيرات لحفظ البياناتPrivate StartX As LongPrivate StartY As LongPrivate StartLeft As LongPrivate StartTop As LongPrivate Dragging As BooleanPrivate Sub Form_Load() Dragging = False ' يمكن ضبط هذه الخصائص أثناء التصميم و حذف هذين السطرين Picture1.ScaleMode = vbPixels Picture2.ScaleMode = vbPixelsEnd Sub' عند الضغط على المربع بالزر الأيسر. نحتفظ ببيانات موقع النقر و نؤشر لبداية عملية السحبPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then If (X >= Shape1.Left) And (X <= (Shape1.Left + Shape1.Width)) _ And (Y >= Shape1.Top) And (Y <= (Shape1.Top + Shape1.Height)) Then StartX = X StartY = Y StartLeft = Shape1.Left StartTop = Shape1.Top Dragging = True End If End IfEnd Sub' عند تحريك المؤشر مع الضعط نحرك المربع حسب حركة المؤشرPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If (Button = vbLeftButton) And Dragging Then Shape1.Left = StartLeft + X - StartX Shape1.Top = StartTop + Y - StartY End IfEnd Sub' عند إفلات الزر الأيسر نلغي إشارة السحبPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dragging = FalseEnd Sub في المرفقات مشروع لتوضيح الطريقتين. MoveShapes.rar نرجو الاستفادة و السلام. 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 28 Mar 2013 السلام عليكم... التحريك سهل، و لكن... فعندما نضغط على مكان معين بالماوس داخل picture يتحرك المربع بأتجاه نرجو التوضيح أكثر - كيف؟ سلام. 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 28 Mar 2013 وعليكم السلام اقصد عند التنفيذ يظهر مربع ولا يتحرك الا اذا قمت انا بتحريك الماوس وجعلة داخل picture فبالمكان الذي اشرت علية بالماوس يتحرك المربع ////اتمنى لو وضح لك قصدي 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 29 Mar 2013 (معدل) شكرا اخي العزيز Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton Then Shape1.Move X - Shape1.Width \ 2, Y - Shape1.Height \ 2 End If End Sub هذا الكود هو المطلوبمن فضلك هل تستطيع صياغتهه بدون استعمال shape1 مع بعض الاضافاتحيث نرسم مربع صغير بأستدعاء اجراء dda اربع مراتوتحريك المربع الصغير يكون محدد بأبعاد الماوس داخل مربع كبير مرسوم داخل picture1 باستدعاء dda اربع مرات اسفة على الاطاله لكن اعذرني فانا مبتدئه وهذا اول مشروع ليوارجو منك المساعدة تم تعديل 29 Mar 2013 بواسطه huda kadoom 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 29 Mar 2013 السلام عليكم... ما هو إجراء dda ؟ و إذا أمكن إرفاق مشروع صغير يحتوي على إجراء dda لرسم المربع داخل الـ PictureBox. سلام. 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 29 Mar 2013 (معدل) اقصد اجراء لخوارزمية dda لرسم الخط المستقيميمكنك استدعاء الايعاز الجاهز لرسم المستقيم اربع مرات Private Sub Form_Activate()X1 = 50Y1 = 50p1.Line (X1, Y1)-(X1 + 290, Y1), 200p1.Line (X1 + 290, Y1)-(X1 + 290, Y1 + 290), 200p1.Line (X1 + 290, Y1 + 290)-(X1, Y1 + 290), 200p1.Line (X1, Y1 + 290)-(X1, Y1), 200'"رسم المربع الكبير"p1.Line (X1 + 100, Y1 + 100)-(X1 + 150, Y1 + 100), 77p1.Line (X1 + 150, Y1 + 100)-(X1 + 150, Y1 + 150), 77p1.Line (X1 + 150, Y1 + 150)-(X1 + 100, Y1 + 150), 77p1.Line (X1 + 100, Y1 + 150)-(X1 + 100, Y1 + 100), 77"رسم المربع الصغير الذي يتحرك اينما يقف الماوس شرط داخل المربع الكبير"End Sub تم تعديل 29 Mar 2013 بواسطه huda kadoom 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
تم النشر منذ
كيفية كتابة كود لمربع يتحرك بأبعاد الماوس بلغة vb 6؟؟؟؟
فعندما نضغط على مكان معين بالماوس داخل picture يتحرك المربع بأتجاه
مــــــــــــــــــــــــــــــــــــــــع الشكـــــــــــــــــــر والتقـــــــــــــــــــــــدير
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه