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

مكون Line يستجيب للأحداث

بدأه najy_zl في 31 ديسمبر 2008 · 8 رد · 1,015 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

استوقفني سؤال في إحدى المشاركات حول عدم إمكانية استجابة المكون Line في Visual Basic للأحداث (Events) فقمت بتصميم هذا المكون.

* يمتلك الخصائص التالية (غير موجودة في المكون Line العادي):

= الخاصية LineSize لتحديد حجم الخط بوحدة البكسل.

= الخاصية LineColor لتحديد لون الخط.

= الخاصية LineDirection لتحديد اتجاه رسم الخط.

= الخاصية Cursor لتحديد شكل مؤشر الفأرة للخط (مثل الخاصية MousePointer في Visual Basic).

= الخاصية CustomCursor لتحديد شكل مخصص لمؤشر الفأرة من غير الأشكال التي توفرها Visual Basic (مثل الخاصية MouseIcon).

= الخاصية Enabled لتمكين أو تعطيل الوصول إلى الخط من جانب المستخدم.

= الخاصية DisabledColor لتحديد اللون المستخدم في رسم الخط إذا كان معطلاً.

= الخاصية UseDisabledColor لتحديد ما إذا سيتم استخدام اللون DisabledColor أم لا.

= الخصائص DragIcon و DragMode و ToolTipText و WhatsThisHelpID كما في المكونات الأخرى.

بالإضافة إلى بعض الخصائص الأخرى المعروفة مثل Name و Visible ... إلخ.

* يمتلك المناهج (Methods) التالية غير الموجودة في المكون Line العادي (لكنها موجودة في مكونات أخرى): Drag و Move و ShowWhatsThisHelp بالإضافة إلى ZOrder و Refresh الموجودتين في المكون Line العادي.

* يستجيب للأحداث التالية (الموكن Line العادي لا يستجيب لأية أحداث): Click و MouseDown و MouseMove و MouseUp و DragOver و DragDrop.

* ميزة أخرى في هذا المكون أنه مكون ثقيل (Heavy Control) أي يمكن إحضاره أمام مكونات مثل الـ TextBox و الـ CommandButton و غيرها (المكون Line العادي يبقى دائماً خلف تلك المكونات لأنه مكون رسومي من النوع الخفيف Light Control).

* عند رسم المكون على الـ Form فإنه يكون له عرض (Width) و ارتفاع (Height) لكن كل تلك المساحة تكون شفافة ما عدا الجزء الذي يمثل الخط. و عند التشغيل فإن الجزء الذي يمثل الخط هو فقط ما يمثل الخط و يستجسب للأحداث.

* طريقة الاستخدام:

1. بعد فك الملف المضغوط المرفق، انسخ الملف AccessibleLine.ocx إلى المجلد System32

2. من قائمة " ابدأ " (Start) اختر الأمر " تشغيل " (Run) و اكتب الأمر التالي: regsvr32 AccessibleLine.ocx ثم اضغط المفتاح Enter

سيعطيك رسالة بنجاح التسجيل.

الخطوات السابقة تحتاجها مرة واحدة فقط لتسجيل المكون في النظام.

3. من داخل Visual Basic اختر الأمر Components من القائمة Project لعرض نافذة المكونات.

4. ابحث عن البند AccessibleLine و قم باختياره ثم انقر الزر OK

ستتم إضافة المكون إلى صندوق المكونات.

AccessibleLineOCX.rar

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

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#2

جزاك الله خيراً أخي الكريم، وجعله في ميزان حسناتك، وجعله صدقة جارية،

فعلاً لقد كنت بحاجة ماسة إلى مثل هذا.

ولكن المشكلة هي الVista بعد أن أقوم بوضع أمر التسجيل في Run يعطني الرسالة التالية:

اقتباس
The module "AccesibleLine.ocx" was loaded, but the call to DllRigesterServer failed with error code 0*80004005

واستفسار آخر أخي، في حال استعمالي لهذه الأداة، هل يمكنني إنشاء واحدة أخرى برمجياً، يعني إضافتها إلى المشروع عن طريق البرمجة، وليس عن طريق الرسم.

جزاك الله خيراً أخي، ووفقك، والحقيقة لا أدري كيف أشكرك إلا بالدعاء إن شاء الله.

والسلام عليكم

تم تعديل هذه المشاركة بواسطة Abboodd في 31 ديسمبر 2008 في 16:08

هذه الجملة خاطئة  :wacko: 


#3

السلام عليكم...

الحقيقة لا أدري إن كانت هناك مشكلة مع Vista لأنني أستعمل Windows XP.

على أية حال جرب التالي:

1. إذا كنت قد وضعت فقط الملف AccessibleLine.ocx في المجلد System32 فجرب أن تضع الملفين الآخرين الموجودين في المرفقات (AccessibleLine.lib و AccessibleLine.oca) في ذلك المجلد.

2. بدل استعمال regsvr32 من قائمة ابدأ ، استعمل الزر Browse الموجود في نافذة إضافة المكونات في Visual Basic لعل الأمر ينجح.

أما بخصوص إنشاء مكونات وقت التنفيذ (بالكود) فإن أسهل طريقة هي ضبط الخاصية Index للمكون المرسوم على 0 حيث سيتم إنشاء مصفوفة مكونات (Control Array)، ثم تحميل نسخ أخرى من المكون عند الحاجة باستعمال جملة Load، كما في المثال التالي:

  1.  
  2. Private Sub Form_Load() Dim Idx As Long
  3.  
  4. For Idx = 1 To 5
  5. Load TLineWithEvents1(Idx)
  6. TLineWithEvents1(Idx).Left = TLineWithEvents1(0).Left + 120 * Idx
  7. TLineWithEvents1(Idx).Top = TLineWithEvents1(0).Top + 120 * Idx
  8. TLineWithEvents1(Idx).LineColor = QBColor(Idx)
  9. TLineWithEvents1(Idx).Visible = True
  10. Next Idx
  11. End Sub
  12.  

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

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#4

لا فائدة أخي ....... :(

المشكلة ليست في هذه الأداة فقط بل في كل الأدوات الإضافية،

على كل حال سأحاول البحث عن المشكلة برقم الError .

بالنسبة للإنشاء برمجياً جزاك الله خيراً.

هذه الجملة خاطئة  :wacko: 


#5

السلام عليكم...

خطر لي أن أرفق الـ Source Code (و يتضمن شرح بالعربي) لمزيد من الفائدة و لمن يريد أن يعدل عليه أو يطوره.

AccessibleLineSource.rar

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

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#6

الحمد لله ، بعد ساعات من البحث، تمكنت من حل المشكلة، وسوف أضع طريقة الحل في موضوع إن شاء الله.

جربت الأداة وهي رائعة، جزاك الله خيراً.

سأحاول الإفادة منها في مشروعي.

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

هذه الجملة خاطئة  :wacko: 


#7

جزاك الله خيراً

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#8

لقد قمت بإعادة رفع المرفقات ..

AccessibleLineOCX.rar

AccessibleLineSource.rar

سبحان الله وبحمده ... سبحان الله العظيم

#9

لا أدري كيف أشكرك، أسأل الله أن يهديك إلى الخير أينما كان.

جزاك الله خيراً، فقد أثلجت صدري :)

هذه الجملة خاطئة  :wacko: 


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