تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مكون Shape يستجيب للأحداث
#1
السلام عليكم...

نعلم أن الـ Shape الأصلي الموجود في VB6 لا يدعم أية أحداث بأصل تصميمه. فمثلاً لا يمكننا كتابة كود Click أو MouseDown خاص به.

* كنت ألجأ أحياناً إلى خدعة وضع Label شفاف فوقه من أجل كتابة تلك الأحداث!

تجدون في المرفقات UserControl باسم TShape (الملف TShape.ctl) و هو عبارة عن مكون Shape مخصص:

أ. الخصائص:

1. الخاصية Shape: تحدد نوع الشكل، و قيمها هي:
= sscRectangle: شكل رباعي (مستطيل أو مربع، حسب العرض Width و الارتفاع Height).
= sscRoundRect: شكل رباعي مستدير الزوايا.
= sscOvalShape: شكل بيضاوي أو دائرة (حسب العرض Width و الارتفاع Height).
= sscSingleDot: نقطة (حجمها يعتد على العرض Width و الارتفاع Height).

* (طبعاً القيم السابقة تظهر تلقائياً في نافذة الخصائص).

* الافتراضي sscRectangle أي شكل رباعي.

2. الخاصية BorderSize. تحدد حجم خط إطار الشكل (بوحدة البكسل). الافتراضي 1 بكسل.

3. الخاصية BorderColor: تحدد لون الإطار. الافتراضي أسود. هذه الخاصية ليس لها تأثير إذا كان نوع الشكل نقطة (Shape = sscSingleDot).

4. الخاصية Color: تحدد لون الشكل. القيمة الافتراضية أبيض. إذا كان نوع الشكل هو نقطة (Shape = sscSingleDot) فإن تغيير هذه الخاصية يؤدي تلقائياً إلى تغيير الخاصية BorderColor إلى نفس اللون (ليس للنقطة حد أو إطار خارجي).

5. الخاصية Transparent: تحدد شفافية وسط الشكل. القيمة الافتراضية False أي أن الشكل غير شفاف. ليس لهذه الخاصية تأثير عندم يكون نوع الشكل هو نقطة (Shape = sscSingleDot) حيث لا توجد نقطة شفافة.

ب. الأحداث:
تدعم الأداة الأحداث التالية: Click و DblClick و MouseDown و MouseMove و MouseUp و Resize.

* يجب الانتباه إلى أن الاستجابة لهذه الأحداث - باستثناء الحدث Resize - تحدث عندما يكون مؤشر الفأرة على جزء غير شفاف من الأداة. مثلاً إذا كان الشكل عبارة عن مستطيل شفاف فإن الاستجابة لأحداث الفأرة تحدث فقط عند النقر على حده الخارجي، أم وسطه فلن يستجيب لأنه شفاف و لا يعتبر جزءاً من الشكل.

*** الاستعمال:

1. أضف الملف TShape.ctl إلى المشروع.
2. ستلاحظ إضافة رمز مكون جديد إلى صندوق المكونات.
3. يجب أن تكون نافذة تصميم المكون مغلقة لتتمكن من إضافته إلى الـ Form.

* طبعاً يمكن تحويل هذا الـ UserControl إلى ActiveX Control و تسجيله في النظام.

نرجو الاستفادة و السلام.


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

- مبدع ومتألق كالعادة , يعطيك العافيه .

- تحياتي .
كود :
For each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود
#4
الأستاذ أستاذ طول عمره
الرد }}}}


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


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