:: منتدى شبابنا ::

مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 829894
ادارة المنتدي مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 103798


انضم إلى المنتدى ، فالأمر سريع وسهل

:: منتدى شبابنا ::

مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 829894
ادارة المنتدي مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية 103798

:: منتدى شبابنا ::

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

منتدى الشباب منتدى متكامل به كل ماتتمناه به اقسام للكمبيوتر اقسام للترفيه المرئيات قسم للخريجين الطلبة المنتدى الاسلامى قسم الديكور والكثير الكثير


    مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية

    eed
    eed
    مشرف برتبة ( وزير )
    مشرف برتبة  ( وزير )


    ذكر
    عدد الرسائل : 2070
    العمر : 52
    الموقع : القليوبية
    العمل/الترفيه : فنى
    السٌّمعَة : 8
    نقاط : 655
    تاريخ التسجيل : 10/05/2008

    بطاقة الشخصية
    الاسم ثلاثى: النشاط
    العمر :

    مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية Empty مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية

    مُساهمة من طرف eed السبت مايو 10, 2008 9:22 pm

    مقدمة Introduction

    من تعامل قديما مع لغة مثل Quick BASIC او C فسيعرف مدى المعاناه فى برمجة النوافذ والتى وجدها ان ذاك فلكى تقوم ببناء تطبيق له واجهة رسومية يعمل مثلا على ال DOS كان يجب عليك ان تقوم برسمها من الصفر اى ان كل ما امامك هو شاشة سوداء تقوم انت بتلوينها وطباعة النصوص عليها وهكذا حتى تنتج معك النافذة او مربع الحوار الذى تواجه به المستخدم
    زمان للتسهيل كان المبرمج ينشئ دالة او برنامج فرعى معين ويقوم باستدعائه مع تمرير القيم المناسبة له حتى لا يقوم بتكرار كتابة الكود اكثر من مرة وهذه هى الفكرة التى تعتمد عليها ادوات الاكتيف اكس


    اذا ما هى الاكتيف اكس او ال Active control

    هى تجميع مجموعة من الدوا والفصائل( الفصائل هى مجموعة من الدوال والبيانات مجمعة فى عنصر واحد) تمكن المبرمج من الوصول اليها لاداء وظيفة معينه فى برنامجه دون الاضطرار الى اعادة كتابة كل تلك الدوال فى كل مرة



    وبذلك نعرف ان كل عمل المبرمج هو امرار بعذ البيانات الى تلك الادوات للحصول على نتائج المعالجة اما فى صورة بيانات اخرى مرتدة او فى صورة مرئية كالرسم على الشاشة



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

    لمحة تاريخية عن ال Active x
    بدات Microsoft فى تطوير الاكتف كنترول منذ تصميمها لمفهو الربط والدمج OLE وصدور الاصدار الاول منه عام 1991 OLE 1.0 كان يعنى وجود وثيقة مع احتوائها على اشياء اخرى مثل النصوص والصور والرسومات البيانية وفى نفس العام قدمت الاصدار الثانى OLE 2.0 مع تقديم بعض التحسينات مثل مثل السحب والافلات والتعامل ع الحافظة CLIP Board والربط وما الى اخره

    ويمكن تقسيم البرامج بالنسبة لاستخدام الاكتيف اكس

    1- Container

    وهو برنامج يسمح بالحتواء كائنات بداخله مثل برامج الاوفي ( وورد اكسل )

    2- Mini Server

    وهو برنامج لا يعمل بشكل من فصل وليعمل يجب اضافته الى برامج اخرى كمساعد الوورد
    3- Server

    وهو برنامج يسمح بتصدير كائن منه ويعمل بشكل منفصل
    3- Container & server

    وهو برنامج يستقبل عناصر من برامج اخرى فيسمى Container وايضا يصدر كائنات لبرامج اخرى فيسمى Server مثل برنامج 3D studio max


    يمكن تصميم برامج الاكتيف اكس باستخدام الفيجوال بيسيك بدا من الاصدار الخامس واقواهم السى ++

    لكى تقوم بتصميم اداه اكتيف اكس قم بفتح مشروع جديد واختر Active x control بدلا من Standard Exe وستظهر لك نموزج ياخذ شكل الفورم Border style = fixed single وهذه الواجهة هى التى ستظهر فى البرنامج الذى سيحتويها ولكى تقوم بترجمة المشروع الى OCX اختر من قائمة File make project.ocx وتحدد مكان الاداه وبعد ذلك يمك استدعائها بالطريقة المعتادة من components واختر browse ثم حدد مكان الاداه الذى حفظتها به ثم اضغط على موافق لتظهر لك على شريط الادوات ويمكن رسمها على النموزج
    ولكن يجب ان تعرف قبل البدئ معنا فى التصميم كيفية التعامل مع الفصائل Classes ودوال الاى بى اى حتى لا تجد صعوبة فى الشرح
    eed
    eed
    مشرف برتبة ( وزير )
    مشرف برتبة  ( وزير )


    ذكر
    عدد الرسائل : 2070
    العمر : 52
    الموقع : القليوبية
    العمل/الترفيه : فنى
    السٌّمعَة : 8
    نقاط : 655
    تاريخ التسجيل : 10/05/2008

    بطاقة الشخصية
    الاسم ثلاثى: النشاط
    العمر :

    مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية Empty رد: مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية

    مُساهمة من طرف eed السبت مايو 10, 2008 9:23 pm

    افتح مشروع جديد فى الفيجوال بيسيك وبدل من ان تختار Standard exe اختر Active x controls



    ستفتح لك نافذة مصمم ادوات اكتيف اكس وكما قلنا مسبقا فهو نموزج Border style = fixed single المهم سنحاول قدر الامكان اليو نصمم اداه بسيطة ومفيدة فى نفس الوقت لنتعرف على المبادئ الاساسية لتصميم ادوات اكتيف اكس



    قم بادراج مربع نص على نموزج اداه التحكم واجعل خاصية locked = True حتى يتم منع الكتابة بداخلها

    وامسح ما داخله عن طريق خاصية Text حتى يكون فارغ



    نستنج الان اننا يمكننا ان نصمم اداه تحكم مبنية على اداه تحكم اخرى



    حسنا قم بضغط Right click على نافذة صندوق الادوات واختر components او اضغط على Ctrl + T ليتم فتح نافزة التى ستعرض الادوات المخزنة عندك فى System 32 directory مجلد ال sysem32



    اختر Microsoft windows common controls 2 6.0 (sp4) ثم اضغط على ok ستجد مجموعة الادوات تلك نزلت فى ال Tool box اختر updown ليم اضافتها الى الفورم



    حاول ان تنسق الشكل بحيث ان تكون اداه UpDown على يمين مربع النص



    وقم باضافة الشفرة التالية للمحافظة على شكل الاداه كلما تغريرت



    كود[size="2"]Private Sub UserControl_Resize()
    Text1.Move 0, 0, ScaleWidth - 250, ScaleHeight
    UpDown1.Move Text1.Width, 0, 200, ScaleHeight
    End Sub[/size]




    لاختبار الاداه قم باضافة مشروع جديد اليها



    من قائمة File اختر Add project واختر Standard exe قم باغلاق نافذة تصميم الاداه لتجدها قد تنشطت فى مربع الادوات قم بادراجها على الفورم واعمل Resize لها ستجدها بشكل مقبول



    لكن الاداه لا تفعل شيئا



    حسنا



    فى حدث DownClick اكتب الشفرة التالية


    كود[size="3"][size="2"]Private Sub UpDown1_DownClick()
    Text1.Text = Val(Text1.Text) - 1
    End Sub[/size]
    [/size]




    وفى حدث UpClick اكتب الاتى




    كودPrivate Sub UpDown1_UpClick()
    Text1.Text = Val(Text1.Text) + 1
    End Sub



    وهذا لزيادة او نقصان ما بداخل مربع النص بمقدار واحد



    لا تنسى ان تضع قيمة رقمية فى التكست حتى لا يعطيك Run time error



    طبعا هذة الاداه بسيطة جدا وكان شرحى ممل للغاية لكنى كنت حاول اراعى المبتدا فى الشرح
    eed
    eed
    مشرف برتبة ( وزير )
    مشرف برتبة  ( وزير )


    ذكر
    عدد الرسائل : 2070
    العمر : 52
    الموقع : القليوبية
    العمل/الترفيه : فنى
    السٌّمعَة : 8
    نقاط : 655
    تاريخ التسجيل : 10/05/2008

    بطاقة الشخصية
    الاسم ثلاثى: النشاط
    العمر :

    مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية Empty رد: مجموعة دروس فى انشاء Active x control, الحق واحجز نسختك قبل نفاذ الكمية

    مُساهمة من طرف eed السبت مايو 10, 2008 9:23 pm

    كيف تضيف خصائص الى اداتك



    الخاصية هى عبارة عن 2 برنامج فرعى يقوم باخذ قيمة او اعطائها



    ما هذا الكلام الغريب لم افهم شيئا



    مش مهم ان شاء الله واحنا بنكمل الدرس هتفهم



    سناخذ المثال السابق لكى نضيف خاصية اليه وهى خاصية Value



    قف فى مكان فارغ فى محرر الكود عندك Code editor وكانك ستكتب كود جديد

    لكى نضيف خاصية الى الاداه فى قائمة Tools اختر Add procedure وهى اضافة اجراء وسيظهر لك مربع حوارى لتحديد نوع الاجراء المراد اضافته اختر Property وهى اجراء من نوع خاصية مع مراعاة اختيار public حتى تكون مرئية لباقى الكائنات التى ستستخدم فيها اكتب فى خانة Name اسم الاجراء وفى حالتنا Value



    بعد ذلك اضغط على ok ليتم اضافة اثنين من الاجرائات



    1- كودPublic Property Get Value() As Variant

    وفى ذلك الاجراء يتم اخذ قيمة الخاصية من اداتك اى ان ذلك الاجراء لن ينفذ الا قام المبرمج باستدعاء تلك الخاصية من اداتك



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



    كود[size="3"]Text1.text = MyTool.value [/size]



    بذلك سيتم استدعاء الاجراء السابق لاستدعاء قيمة الاداه



    ولكن قبل كل شئ قم بتعديل الاجراء ليكون



    كود

    [size="3"]Public Property Get Value() As Long[/size]وقمنا بتعديل Varient لتكون Long وهى ما تناسب القيمة المرتجعة من الخاصية





    قم بكتابة التالى داخل هذا الاجراء



    كود

    [size="3"] Public Property Get Value() As Long[/size]

    [size="3"] [/size][size="3"]Value = CLng(Text1.Text)[/size]

    [size="3"]End Property[/size]



    وبذلك اذا طلب المبرمج قيمة من اداتك سينفذ هذا الاجراء لياخذ ما بداخل ال Text box المستخدم فى تصميم الاداه



    حسنا الاجراء الاخر Let



    كود[size="3"]Public Property Let Value(ByVal vNewValue As Variant)[/size]



    وفى هذا الاجراء يقوم المبرمج الذى يستخدم اداتك بوضع قيمة بداخلها



    MyTool.Value = 5



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



    كود

    [size="3"]Public Property Let Value(ByVal vNewValue As Long)[/size]

    [size="3"] [/size][size="3"]Text1.Text = vNewValue[/size]

    [size="3"]End Property[/size]



    حيث ان القيمة الجديدة سيتم تمريرها فى التابع Vnewvalue ولكن قبلها قم بتغيير نوعه من Varient الى Long ليتناسب مع القيمة الممررة

      الوقت/التاريخ الآن هو الإثنين أبريل 29, 2024 1:53 am