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

لقد قمت ببناء الفئتين ( Rectangle - Ellipse ) .. فكيف يا ترى اضيف لهما الاحداث

بدأه Dr.Pain في 17 أكتوبر 2009 · 7 رد · 697 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لقد قمت ببناء الفئتين ( Rectangle - Ellipse ) ..

هل يا ترى هناك اية افكار لاضافة الحدث Click او Mouse Move لهما , وذلك عند الضغط بزر الماوس على المساحة التي تحتلها كلا من الدائرة والمستطيل ... !!!

DetectShapeEvent.zip

تم تعديل هذه المشاركة بواسطة Dr.Pain في 17 أكتوبر 2009 في 14:13

#2

لإضافة أحداث من قبيل Click. MouseClick, MouseMove, etc. يجب على الفئة التي قمت بتطويرها أن ترث من فئة أخرى تتعامل مع رسائل ويندوز. لأن ويندوز هو من يلتقط الرسائل من الهاردوير كان لوحة المفاتيح, الفأرة أو غيرها ثم يرسل رسائل مثل WM_CLICK, WM_MOUSEMOVE, WM_LBUTTONDOWN, etc. للنافذة النشيطة و الفئة التي تريد أن تستقبل و ترسل أحداث Click و غيرها يجب أن تكون لها نافذة خاصة بها. ملخص القول يجب على الفئة التي أنشأت أن ترث على الأقل من الفئة Control حتى تصبح قادرة على استقبال رسائل ويندوز و الإشعار بالأحداث Click وغيرها.

مثال على فئة ترث من كنترول :

	Public Class WindowedControl
		' وراثة كل خصائص الفئة
		Inherits Control

		' تهيئة الكونترول عند إنشاء الكائن
		Public Sub New()

		End Sub

		' تتم المناداة على هذه الدالة عندما ينقر المستخدم على مربع الكنترول
		Protected Overrides Sub OnClick(ByVal e As System.EventArgs)
			' نقوم بالعمل الذي نريد

			' يتم إشعار البرنامج أوتوماتيكيا بالحدث
			MyBase.OnClick(e)
		End Sub

		' دالة تقوم بعمل ما
		Public Sub SomeFunction()
			' الإشعار بالحدث كليك
			OnClick(EventArgs.Empty)
		End Sub
	End Class

عندما تزيد هذه الفئة إلى فورم ستجد على نافذة الخصائص العديد من الأحداث المسيرة أوتوماتيكيا كأحداث الفأرة و تحديث المحتوى و لوحة المفاتيح و غيرها

تحياتي...

#3

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

كلامك صحيح يا محمد ,, ولكن المشكلة تكمن في كيفية تحديد ان الماوس قام بعمل Click على مساحة المستطيل او الدائرة !!!!!

#4

يمكنك استعمال دوال API CreateXXXRgn لإنشاء الفورم التي تريد تم المناداة على الدالة PtInRegion لمعرفة ما إذا كانت نقطة ما توجد داخل الفورم المعنية بالأمر.

للمزيد من المعلومات :

http://msdn.microsoft.com/en-us/library/dd...28VS.85%29.aspx

تحياتي...

#5

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

شكراً يا محمد .. خليني اشوف وارد ليك خبر يا غالي :)

#6

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

لقد وجدت شيئاً مفيداً وذلك بأن نقوم بإستخدام RectangleF ... سوف ارى لاحقاً كيف سوف اقوم بدمجه مع الفئات !

DetectShapeEvent.zip

#7

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

dr.pain

مرفق مع ردي هذا مثال بسيك على المستطيل ويمكن عمل المثل بالنسبة للدائرة ...

وهو مثال بسيط على ربط العنصر المرسوم على الفورم بها بحيث يكون لديه احداث مثل click او mouse move

اتمنى ان يفيدك المثال

السلام عليكم

Ragheed2Nezar.zip

مواضيع برمجية تقنية جديدة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

مواضيع برمجية تقنية قديمة

----------------------------------------------------------------------------------------------------------------------------------------------

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

----------------------------------------------------------------------------------------------------------------------------------------------

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

----------------------------------------------------------------------------------------------------------------------------------------------

#8

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

شكراً يا رغود الف شكر حبيبي :)

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…