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

تعلم تصميم اداة ال Active X خطوة بخطوة(الجزء الاول

مغلق
بدأه Abu Sabreen في 6 أغسطس 2005 · 32 رد · 12,608 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

دروس في أداة الاكتيف اكس

(الجزء الاول)

ملاحظة1 : يوجد في نهاية الدرس ملف pdf يحتوي على الشرح كاملا( في المرفقات).

ملاحظة 2 : هنالك مثال مطبق على الدرس هذا( في المرفقات).

ملاحظة3: هذا الجزأ الاول من الدورة والجزء الثاني بعد الثانوية العامة باذن الله( ادعوا لي بالنجاح الباهر B) ).

ملاحظة 4: هذه الدورة للمتوسطين والخبراء في الفيجوال .

ملاحظة 5 : سوف تجد صعوبة بعض الشيئ في فهم الدرس وذلك لان عملية تصميم الاداة عملية صعبة بعض الشيئ.

أول شيئ , ما هي اداة ال Active X ؟

اداة الاكتيف اكس هي عبارة عن اداة مثل اي اداة من ادواتVisual Basic الشائعة : مربع النص , ليبل , كوماند .....الخ.

اداة الاكتيف اكس يمكنك وضعها في اي برنامج مصمم بالفيجوال ييسك .

اداة الاكتيف اكس تعمل على توفير الجهد حيث انك بواسطتها لا تضطر الى كتابة الكود مرات عديدة في البرنامج مما يختصر لك الكود ايضا.

كيف يمكنك عمل اداة Active X ؟

في هذه المادة الدراسية سوف تتعلم كيف تعمل اداة اكتيف اكس بسيطة تقوم باظهار صندوق رسالة عندما المستخدم يضغط عليها , طبعا هذه اداة بسيطة وغير مفيدة في الحياة العملية ولكنها سوف تعلمك كيف تبرمج اداة اكتيف اكس.

بداية العمل

أختر من قائمة الفيجوال File->New Project كما هو موضح :

06_08_05_04_42_29_11233285491.gif

اختر Active X Control ومن ثم اضعط OK كما هو موضح :

06_08_05_04_43_21_1123328601_.gif

فورم جديد سوف يظهر بدون شريط عنوان كما هو موضح :

06_08_05_04_44_01_11233286413.gif

اختر من القائمة Project->Project1 Properties. كما هو موضح :

06_08_05_04_44_35_11233286754.gif

يمكنك تغيير اسم الاداة تبعتك بتغيير ال Project Name الى اي اسم كما هو موضح :

06_08_05_04_45_31_11233287315.gif

هذا الاسم ما سوف تشاهده عند الانتهاء من عمل الاداة انا مثلا سميت الاداة MyFirstOcx كما هو موضح :

06_08_05_04_46_28_11233287886.gif

الان اضغط الزر الايمن للماوس واختر Properties من القائمة كما هو موضح :

06_08_05_04_47_01_11233288217.gif

خاصية الاسم للفورم تكون UserControl1 غيرها الى My Control كما هو موضح :

06_08_05_04_47_38_11233288588.gif

هذا الاسم سوف يظهر للمستخدم عند اختيار الاداة : وهكذا .My Control1 , My Control2 ….. .

بداية برمجة الاداة

اضف زر امر ( (Command Button الى الفورم وسميه Command1 كما هو موضح :

06_08_05_04_49_04_11233289449.gif

هذا ما سوف تظهر عليه اداتك.

اداتك هي عبارة عن الفورم وما عليه ولكن نحن لا نريد ان يظهر الفورم ما نريد هو الكوماند فقط

لذلك اعمل resize للفورم كي يتناسب مع الكوماند ولا يظهر منه شيئ كما هو مبين :

06_08_05_04_49_58_11233289981_.gif

الان الاداة سوف تظهر على شكل زر.

ولكنها ليست زر وانما هي فورم وبداخله زر.

ولكن ماذا لو قام المستخدم بعمل Resize للاداة في وقت التصميم (مثل اداة ال Command Button)؟

لحل هذه المشكلة وعندما يقوم المستخدم بعمل Resize للاداة يجب علينا ان نجعل الفورم يتناسب مع الزر الذي وضعناه.

ضع هذا الكود لجعل المستخدم يقوم بresize الزر بدلا من الفورم :

Private Sub UserControl_Resize()
    Command1.Width = UserControl.Width
    Command1.Height = UserControl.Height
End Sub

To be continued

تم تعديل هذه المشاركة بواسطة abu sabreen في 6 أغسطس 2005 في 15:22

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

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

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#2

نتابع........

انجاز عملية خصائص الاداة

كل اداة لها خصائص معينة مثل : Name , Left , Index , Tag ….etc..

ولكن اداتنا سوف تحتوي هذه الخصائص افتراضيا ولكننا نريد ان نضيف خصائص لا تاتي افتراضية مثل Text وهو عبارة عن نص الرسالة التي سوف تظهرعندما يقوم المستخدم بالضغط على الاداة.

انجاز خاصية ال Text property

عند قرائة خاصية النص ( Reading Text Property): تحدث هذه الحالة عندما نريد ان نقرا الخاصية التي وضعها المستخدم.

على سبيل المثال عندما يضع المستخدم القيمة "Abo Sabreen" فان نتيجة القراءة سوف تعيد "Abo Sabreen" وهذا ما نريده بالضبط.

الان ضع الكود التالي في الفورم :

Dim TextVariable As String

ال TextVariable هو عبارة عن المتغير الذي يحمل قيمة خاصية النص(Text Property).

الان ضع الكود التالي داخل الفورم ايضا :

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    TextVariable = PropBag.ReadProperty("Text", "There is no message")
End Sub

الكود السابق يقرأ قيمة خاصية النص (Text Property) اذا كانت فارغة فانه يعيد القيمة الافتراضية وهي

"There is no message" وهكذا نكون قد استدعينا قرائة خاصية النص ( Reading Text Property).

الان يجب ان ننجز طريقة القرائة , ضع الكود التالي :

Public Property Get Text() As String
    Text = TextVariable
End Property

قيمة خاصية النص ( Text Property Value) سوف تعيد قيمة نص ولذلك وضعنا As String.

انجاز اسلوب الكتابة

ان ضرورة الكتابة تحدث عندما نريد ان نقوم بتحديث المتغير الذي يحمل لنا قيمة الخاصية (TextVariable )

ولعمل ذلك قم بوضع الكود التالي داخل الفورم:

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("Text", TextVariable, "There is no message)  
End Sub

الكود في الأعلى يقوم بكتابة قيمة الخاصية الجديدة الى المتغير (TextVariable) ويقوم يتحديث خاصية النص.

اذا كانت الكتابة للمتغير (TextVariable) تعيد لا شيئ فضع قيمة خاصية النص الى "There is no message".

وبهذا نكون قد انجزنا عملية اسلوب الكتابة.

ضع الكود التالي داخل الفورم :

Public Property Let Text(ByVal New_Text As String)
    TextVariable = New_Text
    PropertyChanged "Text"
End Property

القيمة الجديدة لخاصية النص مررت بالمعامل ( New_Text ) طبعا هذا المعامل هو عبارة عن String وذلك لان خاصية النص ( Text Property) هي عبارة عن String.

وضعنا هنا المتغير ( Text Variable) ليحمل القيمة الجديدة لخاصية النص (Text Property) وفي السطر الثاني من الكود تم الاعلان ان خاصية النص قد تغيرت.

انجاز الاحداث( Events)

عند نقر المستخدم على الاداة فانه يظهر صندوق رسالة في هذه العملية نحتاج الى حدثين :

1. Keypress.

2. .Click

اولا يجب علينا ان نقوم بتعريفهم ضع الكود التالي داخل الفورم :

Event Click()
Event KeyPress(KeyAscii As Integer)

انجاز علمية النقر ( Click Event)

نحن نريد ان يظهر صندوق رسالة وتنفيذ الكود الذي وضعه المستخدم عندما يقوم المستخدم بالنقر على الاداة لذلك ضع الكود التالي :

Private Sub Command1_Click()
    MsgBox (TextVariable)
    RaiseEvent Click
End Sub

حفظ وتشغيل الاداة

لحفظ الاداة اذهب الى (File->Save Project) كم هو موضح في الصورة :

06_08_05_05_07_40_11233300601_.gif

الان لعمل الاداة على شكل ocx اذهب الى File->Make MyFirstOCX.ocx كما هو موضح :

وبهذا تكون الاداة قد انشئت وسجلت داخل نظامك.

ولاستدعاء الاداة من داخل مشروعك اذهب الى Project->Components ضع صح عند MyFirstOcx كما هو موضح:

06_08_05_05_08_31_112333011114.gif

06_08_05_05_09_17_112333015715.gif

والان سوف تشاهد الاداة في صندوق الادوات ( ToolBox) :

06_08_05_05_10_02_112333020216.gif

اضف الاداة الى الفورم وغير حجمها الى القياس الذي تريده وضع كلمة " Abo Sabreen" في Text وشغل البرنامج واضغط على الاداة سوف يظهر صندوق رسالة .

اتمنى ان اكون قد افدتكم في هذا الدرس.

تعلم تصميم اداة الاكتيف اكس خطوة بخطوة.pdf

مثال مطبق على الدرس.rar

تم تعديل هذه المشاركة بواسطة abu sabreen في 6 أغسطس 2005 في 15:16

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

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

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#3

ألف ألف شكر ليك يا أبو صبرين يا غالى

Gawish Soft

الشركة المصرية لأنتاج البرامج المجانية المساهمة

يا مقرب القلوب قربنى أليك

#4

مشكووور ابو صابرين الله يوفقك

وراح انطبق الدرس

#5

مشكورين حبايبي على الرد

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

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

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#6

الى الامام دائما إن شاء الله :)

1- لا خير في حسن الجسوم وطولها إن لم يزن حسن الجسوم عقول

2- لا تنظر إلى صغر الخطيئة .. ولكن انظر إلى عظم من عصيت

3- قد يجمع المال غير آكله . . ويأكل المال غير من جمعه

4- من وثق بالله أغناه ومن توكل عليه كفاه ومن خافه قلت مخافته ومن عرفه تمت معرفته

5- أن تضيء شمعة صغيرة خير لك من أن تنفق عمرك تلعن الظلام

6- لا يحزنك إنك فشلت مادمت تحاول الوقوف على قدميك من جديد

7- صديقك من يصارحك بأخطائك لا من يجملها ليكسب رضاءك

8 - الابتسامة كلمة طيبة بغير حروف

9- لا داعى للخوف من صوت الرصاص .. فالرصاصة التى تقتلك لن تسمع صوتها

10 -- يستطيع الناس أن يعيشوا بلا هواء بضع دقائق وبلا ماء أسبوعين وبلا

طعام حوالى شهرين وبلا أفكار سنوات لا حصر لها

من مواضيعى :

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

دروس تعلم كيف تصحح أخطائك بنفسك

برنامج الحائط النارى العربى ---- جديد

برنامج ساعة بالعقارب ------ جديد

لعبة سناك الشهيرة مع الكود

غير نظرتك لل picturebox وانظر ماذا فعلت بها

حمل ملف فلاش على الفورم بكل سهولة

مكتبة تحتوى على 50000 كتاب مجانى معظمها عن الكمبيوتر و البرمجة

برنامج المترجم العربى لترجمة الافلام

#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

مشكور استاذي ابو صابرين

على الدروس

وننتظر دروسك القادمة بفارق الصبر

#9

اخوي abu sabreen الله يعطيك الف عافيه يالغالي .. .

احترامي ..

#10

درس رائع يا عبقري ..... مشكوووووور وجزاك الله خيرا وجعله في موازين حسناتك

كلمة في سرك ... كنت أعد لهذا الموضوع من فترة ولكن انا اخذت الأجر بنيتي وارحتني من المشقة ......... هههههه

تدرج وتنظيم وبراعة .... بدرجة امتياز

جاري القراءة والتحميل

تحياتي لك

اخوك ناصر

#11

مشكور abu sabreen على هذا الجهد الطيب الدرس مفيد جداً

من تواضع لله رفعه

#12

ياعم ابو صابرين واحدة واحدة علينا :lol: :lol:

شرح أكثر من رائع , بارك الله فيك :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#14

شكرا اخواني على هذه الردود الطيبة من اناس طيبين مثلكم

اقتباس
كلمة في سرك ... كنت أعد لهذا الموضوع من فترة ولكن انا اخذت الأجر بنيتي وارحتني من المشقة ......... هههههه

اخي ناصر انا وانت واحد .....وجيبتي وجيبتك وحدة ( بلاقي معك شوية فلوس لاخر الشهر :lol: )

فهدفنا واحد ولا يهم من قام بتقديم الدروس

اقتباس
ولكن انا اخذت الأجر بنيتي وارحتني من المشقة

:(

هذا صحيح

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

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

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#15

جيد والى الامام لكل طلاب الثانوية

#16

بارك الله اخي ابو صابرين لهذا السيل من الدروس :)

اقتباس
جيد والى الامام لكل طلاب الثانوية

:D

الهم آمين نجح ابنائي في كل المراحل التعليمة

gaza3-3.jpg
#17
اقتباس
Private Sub Command1_Click()

  MsgBox (TextVariable)

  RaiseEvent Click

End Sub

فى هذا الكود ذكرت الأمر التالى

اقتباس
  RaiseEvent Click

ما فائدته ؟

استغفر الله العظيم من كل ذنب وأتوب إليه

#18
اقتباس
بارك الله اخي ابو صابرين لهذا السيل من الدروس

سيل ايه يا عم ابراهيم , انت بدك تزعلني منك :angry:

احكي نهر أو محيط اما سيل لا :lol:

الاخ eng2002 حقيقة انا افرح كثيرا عندما اراك تسال وهذا يدل على قراءتك للدرس وبالتالي الاستفادة

اخي هذا الكود يعني :

RaiseEvent Click

انه سوف يظهر صندوق الرسالة عند النقر على الاداة بواسطة الماوس

يمكنك مثلا ان تجعل صندوق الرسالة يظهر عند الحدث Mouse Move للاداة بمعنى ان المستخدم عندما يقوم بالمرور على الاداة بالماوس بدون النقر سوف يظهر صندوق الرسالة.

ولكن يجب عليك التعديل بالكود كالتالي :

اولا يجب عليك تعريف حدث ال Mouse Move بوضعك الكود التالي في الفورم :

Event mousemove()

ثانيا ضع الكود التالي في حدث ال mouse Move لل command1 :

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox (TextVariable)
    RaiseEvent mousemove
End Sub

ولقد ارفقت لك مثال على ما سبق :

للاسف لا يمكنني ارفاق اي ملف

على العموم طبق الكود كما اخبرتك

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

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

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#19

السلام عليكم

بالفعل المنتدى كان ينقصه هذا الموضوع الهام

بارك الله فيك اخى abu sabreen وجزاك الله خيرا وجعل هذا الشرح فى ميزان حسناتك

بالفعل انت ابدعت بكل المقاييس

مش عارف احنا هنتحمل غيابك عنا سنة كاملة ازاى؟؟؟ :(

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#20

مشكووور

#21

وفقك الله لمواضيعكم البناءة

158.gif

هناك فرق بين أن تكبر بالعمر

، و أن تكبر بالعقل
فالأولى ، إجباري
، والثانية اختياري .."
 
 

164684_514411088579476_442405016_n.jpg

#22

الف شكر واتمنى لك دوام النجاح

#23

الف شكر يا غالى على الموضوع المتتاز

بالتوفيق اخى الغالى

#24

دروس شيقة جيدة بارك الله فيك أخي الكريم

تزودوا فأن خيرا الزاد التقوى

اللهم انصر اخواننا المسلمين المجاهدين في كل مكان

#25

مشكور يا ابو صابرين على هذا الدرس الرائع

عندي سؤال لو سمحت :

احاول العمل على اداه اكتف اكس وهي عباره عن وعاء للماء او اي شي اخر واريد اضافه خاصيه لمستوى السائل في هذا الخزان و السؤال هو كيف ابرمج خاصيه تقراء المستوى شبيهه بخاصيه ال value في البروكرس بار

تحياتي

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

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