الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديد منطقة من رسمة

مغلق
بدأه عبد الغني محسن في 21 فبراير 2002 · 4 رد · 1,043 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لدي رسمة وضعتها بأداة Picture أريد تنفيذ أمر ما عن الضغط على منطقة معينة من الرسمة.

اذا استخدمنا الحدث Click فسوف تنفذ الأوامر عند الضغط على أي جزء من الصورة . وأنا أريد تحديد منطقة معينة منها.

ساعدوني جزاكم الله خيراً:'(

#2

عندي لك حلان

1 أن تحدد إحداثيات منطقة الضغط على الصورة وإستخدم الحدث

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

وذلك بدلالة قيمة x,y

2 الطريقة الاخرى(من إختراعي) هي ضع أداة ليبل على الصورة في المكان المناسب وإجعلها شفافةBackstyle=0 والCaption إجعله فارغ وضع الاوامر البرمجية على حدث Click على هذا الليبل الغير مرئي للمستخدم

يوجد طرق أخرى متقدمة في حالة عدم إنتظام شكل المنطقة المرغوبة

تحياتي

#3

شكراً لك عزيزي oaob على محاولتك لكني:

كنت أضع أداة image بدلاً من Label وهو لا يؤثر شيئاً أما الأنا في برنامجي يقوم برسم خطوط على الـ Picture في الحدث Mouse Move لذلك إذا وضعت أداة Label أو Image لن ينفذ الحدث Mouse Move لذلك حبذا لو تكرمت وشرحت لي كيف يمكنني تحديد إحداثيات المنطقة.

مشكور أخي oaob

#4

المثال أدناة يبين لك الاحداثي السيني والصادي لنقطة الضغط على الصورة ويظهر لك في أي جزء من الصورة

تمت عملية الضغط بالماوس

ولتطبيقة ضع أداة picture وأجعل scale mode=3 للصورة والفورم

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Print "x="; X; " "; "y="; Y

If X > Picture1.Width / 2 And Y < Picture1.Height / 2 Then

MsgBox "أنت الآن في الربع العلوي الأيمن من الصورة"

End If

If X > Picture1.Width / 2 And Y > Picture1.Height / 2 Then

MsgBox "أنت الآن في الربع السفلي الأيمن من الصورة"

End If

If X < Picture1.Width / 2 And Y < Picture1.Height / 2 Then

MsgBox "أنت الآن في الربع العلوي الأيسر من الصورة"

End If

If X < Picture1.Width / 2 And Y > Picture1.Height / 2 Then

MsgBox "أنت الآن في الربع السفلي الأيسر من الصورة"

End If

End Sub

#5

شكراً كثيييييييير لك عزيزي oaob الله يوفقك ويعطيك العافية

هذا الموضوع مغلق.

مواضيع مشابهة