بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته
الكاتب احمد جمال .
محتويات قائمة ملف .
والآن وخلال هذا الدروس سوف نصمم محتويات القائمة ( ملف ) من الأسفل إلى الأعلى ( وسنصمم : انهاء - تعلميات - حول البرنامج ) فيما نؤجل عرض البضائع إلى الدرس القادم .
لا تنس في بداية هذه الدروس أن جميع القوائم تحت قائمة رئيسية واحدة لها نفس الاسم ، ونقوم بالتفريق بينها بواسطة الخاصية Index وذلك بالشكل التالي :
رمز:
Select Case Index
Case 0
Case 2
Case 3
Case 5
End Select
عمل الأمر الموجود في انهاء .
الأمر بسيط جداً ، فيما مضى كنا نضع أمر End مباشرة للانهاء ، ولكننا نشاهد في كثير من البرامج رسالة تظهر قبل انهاء البرنامج .
هل تريد بالتأكيد انهاء البرنامج ؟
لعمل هذه العملية كل ما نحتاج إليه هو اظهار رسالة يكون جوابها YesNo ونضع ناتجها في متغير للتأكد من أنه لا يساوي No قبل الانهاء .
لنرى الآن هذا الكود :
رمز:
Dim Sure
Sure = MsgBox("هل تريد بالتأكيد انهاء البرنامج ؟", vbExclamation + vbYesNo + arabic, "تأكيد الخروج")
If Sure = vbYes Then End
الأمر بسيط جداً ، ولكن تبقى شيء آخر ، وهو أننا نريد لهذه الرسالة أن تظهر حين يتم الضغط على زر X في الفورم ، وهو حدث Unload للفورم .
جرب نسخ الأمر السابق كما هو في حدث Unload ستلاحظ أنك حتى لو ضغطت اخترت الغاء الأمر فلن يفيد ذلك ، وللتغلب على هذه المشكلة نغير قيمة Cancel إلى True قبل الأمر السابق .... فكيف يتم ذلك ؟
إن حدث Unload يستقبل قيمة في المتغير Cancel توضح إذا ما تم الغاء الأمر أم لا ، ويحتوي افتراضياً على False عند لضغط على زر X ولذا فإننا نغير قيمته ، وذلك بالشكل التالي :
رمز:
Cancel = True
Dim Sure
Sure = MsgBox("هل تريد بالتأكيد انهاء البرنامج ؟", vbExclamation + vbYesNo + arabic, "تأكيد الخروج")
If Sure = vbYes Then End
جرب ذلك الآن ، ستجد أن حدث Load يحدث من جديد عندما يحدث Cancel=True مما يؤدي إلى اخفاء الشاشة التي قمنا باظهارها ، وازالة عنوان الفورم ... وللتغلب على هذه المشكلة يتم استدعاء الأمر Start ثانية بعد هذا الحدث ، وبذلك يصبح الكود الكامل بالشكل التالي :
رمز:
Cancel = True
Dim Sure
Sure = MsgBox("هل تريد بالتأكيد انهاء البرنامج ؟", vbExclamation + vbYesNo + arabic, "تأكيد الخروج")
If Sure = vbYes Then End
Start
عمل شاشة ( حول البرنامج ، وشاشة تعليمات ) .
لعمل الشاشة الأولى سوف نستخدم إحدى شاشات الفيجوال بيسك القياسية وهي شاشة About تستطيع اضافة واحدة بالضغط على أي فورم بزر الماوس الأيمن واختيار About Dialog ... غير اسمه إلى AboutMe لكي نتلافى التشابه بينه وبين الفورم الافتتاحي الذي كان ينبغي أن يسمى Frm_Splash - خطأ مني - .
الآن صمم شكل الفورم كما يحلو لك ، ولا تنس أن تضع أيقونة البرنامج مكان أيقونة الفيجوال بيسك .
لاجظ أمراً ما في حدث Load لذلك الفورم وهو موجود افتراضياً :
رمز:
Me.Caption = "About " & App.Title
lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
lblTitle.Caption = App.Title
يقوم هذا الكود بالتعرف على خصائص المشروع من اصدار واسم وغيره لوضعها في اماكنها المناسية ... تستطيع الاعتماد على هذه الطريقة مع التأكد من ضبط هذه الخصائص بصورة صحيحة من قائمة Project ثم Project Property ومن خلال التبويب Make ... أو تستطيع الاعتماد على عملها وقت التصميم وحذف هذه الأكواد .
وفي حدث النقر على هذه القائمة سوف نضيف أمر اظهار هذه الشاشة فقط :
AboutMe.Show 1
وماذا عن الشاشة الثانية ؟
من المعتاد دائماً ارفاق ملف التعليمات مع البرنامج بصيغة rtf وهي صيغة مطورة من Text لكنها تسمح بالألوان ويمثلها في برامج ويندوز برنامج الدفتر - Wordpad ... وبما أن الغالب هو اضافة نفس التعليمات في شاشة التعليمات ، فإننا نحتاج إلى أداة تدعم اختلاف الألوان ، وهذه الأداة هي أداة RichText .
سنبدأ أولاً بعمل فورم فارغ من كل شيء .. ولن يحتوي شريطه العلوي سوى على زر X فقط ... ونضيف هذه الاداة فيه .
لاضافة الأداة : اضغط Ctrl+T ومن ثم اختر Microsoft RichText Control 6.0 .
ولنقم الآن بفتح الدفتر - Wordpad ولنضف بعض الكلام كتجربة ، ونحفظة في نفس مسار البرنامج تحت اسم Help.rtf .
تحتوي هذه الاداة على خاصية FileName والتي تحدد مكان الملف الذي سوف يظهر في هذه الاداة والتي سوف نضبطها وقت التصميم ... أيضاً خاصية ScrollBars والتي تحدد ظهور أشرطة التمرير من عدمه .
كل ما علينا أن نحدد مصدر الأداة في حدث التحميل للفورم ، وذلك بالشكل التالي :
RichTextBox1.FileName = Folder & "help.rtf
"
والأمر الخاص باظهار هذا الفورم :
Frm_Help.Show 1