![]() |
|
الدرس الثالث - التعامل مع MDI Forms وتكوين القوائم - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة بناء برنامج لإدارة السوبر ماركت من الألف إلى الياء (http://vb4arb.com/vb/forumdisplay.php?fid=128) +---- الموضوع : الدرس الثالث - التعامل مع MDI Forms وتكوين القوائم (/showthread.php?tid=5691) |
الدرس الثالث - التعامل مع MDI Forms وتكوين القوائم - RaggiTech - 15-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته . *** منذ هذا الدرس فصاعداً وحى نهاية هذه الدورة سنعمل بإذن الله من خلال برنامج فيجوال بيسك
Visual Basic .
أولاً : القوائم
Menues .
إن إحدى أهداف التحليل لأي برنامج هو معرفة مهام هذا البرنامج بالضبط وبالتالي امكانية تكوين القوائم وشاشات البرنامج دون خوف من امكانية التعديل فيها لاحقاً - إلا قليلاً - ، ومن تحليلنا السابق نستطيع تجميع كل مجموعة متشابهه من المهام تحت قائمة رئيسية واحدة ، وذلك بالشكل التالي :
ملف : عرض البضائع - تعليمات الاستخدام - حول البرنامج - انهاء .
اضافة : اضافة بضاعة جديدة - مورد جديد - نوع جديد . تقارير : تقارير البضائع - تقارير الموردين - تقارير الأنواع - تقارير سريعة : ( التقرير اليومي - تقرير بين تاريخين ) . مهام : عملية بيع - عملية شراء - مسح ( كافة البضائع - كافة الموردين - كافة الأنواع - عمليات البيع - عمليات الشراء ) - التحكم بعمليات المبيعات . بحث : البحث عن البضائع . أدوات : تغيير معلومات المحل - تغيير كلمة المرور - النسخ الاحتياطي ( عمل نسخة احتياطية - استيراد نسخة احتياطية ) - تجهيز الطابعة - آلة حاسبة . *** بعض هذه العناصر لا علاقة لها بقواعد البيانات بل قد تكون بناء على طلب من المستخدم ، مثل ( آلة حاسبة ) أو من المسلمات في برامج قواعد البيانات مثل ( عمل نسخة احتياطية ) .
سنقوم الآن بمعرفة أنوع الواجهات في فيجوال بيسك ، بعد ذلك سوف نقوم باضافة القوائم إلى واجهة البرنامج الرئيسية .
ثانياً : الشاشات والنماذج في فيجوال بيسك .
عندما تختار اضافة نافذة Form جديدة إلى برنامجك من خلال قائمة Project - Add Form ، فإنك تلاحظ ظهور شاشة تحتوي على العديد من أشكال النماذج ، ومن اشهرها استخداماً Form بينما يمكنك التحويل إلى باقي الأشكال من خلال الخاصية Border Style والتي تحدد طبيعة شكل هذا النموذج فمثلاً إذا قمت باختيار :
0 - None فإن هذا يعطيك نموذجاً خالياً من شريط العنوان والأدوات ، غير ممكن تحريكه إلا بواسطة بعض الأوامر الا باستخدام بعض دوال API والتي تتيح لك تحريك الفورم من أي مكان . وهكذا ...
على أن هذه النوعية تشترك في أنها نوافذ لا يمكن أن تحتضن بداخلها نوافذ أخرى ، وبمعنى آخر فإنه لا يمكن عرض نافذة أخرى بداخلها بصورة تلقائية ، بل إنك إذ ذاك ستكون مضطراً لاستخدام بعض دوال API لوضعهما على هذا النحو دون الحصول على نافذة حاضنة بنسبة 100% . لعمل مثل تلك النافذة من Project قم باختيار MDI Form ، ولن يتيح لك الفيجوال بيسك 6 سوى اضافة نافذة واحدة فقط من هذا النوع ، وفي الواقع لن تكون مضطراً لاستخدام أكثر من MDI Form في برنامج واحد في الغالب ، إلا أنك قد تحتاج لها فقط في حالة وجود أكثر من برنامج فرعي تحت البرنامج الرئيسي مثلاً . ما هي نوافذ
MDI ولماذا نستخدمها ؟
نستخدم هذه النافذة كنافذة حاضنة ، بمعني أن هذه النافذة لن تحتوي سوى على القوائم واختصارات سريعة فقط ... أما المحتويات الأخرى فهي عبارة عن نوافذ أخرى تعرض داخل النافذة الأولى .
ميزة هذه النافذة أنها غالباً ما لا تحتوي على أي شيء ، لهذا نضعها دائماً أكبر ما يمكن ونضع أحجام النوافذ داخلها ثابتة . وعند تغيير أسلوب العرض سوف تكبر هذه النافذة دون التأثير على النوافذ الداخلية ، مما يملئ الشاشة دون التأثر بعيوب تغيير الدقة Reslution في هذه الحالة . عيوب نماذج
MDI :
* لا يمكن وضع أي أدوات عليها سوى أداة Picture وبالإمكان التحايل على هذا الأمر باضافة الأدوات التي نريدها داخل Picture .
* لا يمكن وجود أكثر من نموذج MDI في البرنامج الواحد - من عيوب فيجوال بيسك والتي تم تلافيها في .net - . اضافة نماذج
MDI Form الخاصة بنا .
قم بتشغيل برنامج فيجوال بيسك ... وكما هي العادة سيظهر فورم عادي ... اضغط عليه بزر الماوس اليمين ، اختر New ومن ثم MDI Form .
نريد لهذه الشاشة أن تكون أكبر ما يمكن كما أسلفنا ، لذا اختر من WindowState القيمة 2-Maximized . الآن سوف نقوم بجعل الفورم الأول محتوياً في داخلها ... لذا اذهب إليه واختر القيمة True للخاصية MDIChild . جرب تشغيل البرنامج ولاحظ التنفيذ . هذه هي شاشتنا الرئيسية والتي سوف نعمل عليها ... لذا سنقوم باضافة قوائم بالمهام التي نريدها . وقبل البدء في اضافة القوائم اقترح زيارة الرابط التالي ففيه شرح مبسط عن القوائم . كما أنه من الشائع - نسبياً وفي بعض الاحيان فقط - أن توضع كل قائمة باسم واحد فقط و Index متغير بحيث أن قائمة ملف تأخذ الاسنم M_File1 وتأخذ قائمة ( حول البرنامج ) الفرعية من القائمة الأولى باسم File ولكن بالإيندكس 0 كما أن ( تعليمات ) تأخذ الاسم File ب Index=1... وهكذا . وسوف نتعلم كيفية التعامل مع Index في عجالة بسيطة في آخر هذا الدرس .
ولا تستخدم هذه الطريقة في العادة إلا إذا لم تكن القوائم تحتوي إلا على استدعاءات لدوال مثلاً أو مجرد اظهار شاشات جديدة ، وهذا هو أغلب ما يوجد في برنامجنا . سنقوم الآن باضافة القوائم التي حدناها في أول هذا الدرس . ثم نقوم باضافة بعض الاختصارات السريعة للمهام الرئيسية مثل Ctrl+F4 للخروج ، F1 لحول البرنامج و F2 للتعليمات ، Ctrl+S لعملية بيع و Ctrl+B لعملية شراء ، وبعض الاختصارات التي سوف تجدها في الملف المرفق . لا تنس ضبط خاصية Right To Left = True من أجل دعم اتجاهات اللغة العربية . والآن لنأخذ مثالاً سريعاً على كيفية استخدام القوائم . عندما نضع امراً ما في File على سبيل المثال فهناك احتمال لأن يكون الزر المضعوط هو ( حول - تعليمات - البضائع - انهاء ) لأن لهم نفس الاسم جميعاً ، ومن أجل ذلك فهناك متغير اسمه Index يحتوي على رقم Index وهو أحد بارميترات دالة Click . ونستطيع عمل العملية المطلوبة لاحقاً باستخدام هذه الخاصية ، ضع الكود التالي في زر File . والذي يوضح طرق استخدام Index . كود : Private Sub File_Click(Index As Integer)والله الموفق ...
والسلام عليكم ورحمة الله وبركاته . |