إخواني حياكم الله ..
أتشرف أن أقدم لكم هذه السلسلة المتواضعة والتي تهدف إلى أن نتعلم كيفية بناء برنامج يحاكي برنامج الدفتر الموجود في Windows..بخطوات سهلة إن شاء الله تعالى ..
الشرح طويل وشبه ممل لكن كل ما هو مذكور مهم ..نبدأ على بركة الله الدرس الأول ..
سنستخدم الأداة Rich Textbox والتي تسمى "أداة مربع النص الغني "وهي إحدى أكثر أدوات تحكم اكتيف اكس فائدة..والتي تتيح لك إضافة مميزات متقدمة لمعالجة النصوص في برامجك ..خلافاً لأداة مربع النص البسيطة المشمولة في مربع الأدوات القياسي ،حيث تتيح لك أداة مربع النص الغني تنسيق نصك باستعمال أسلوب شائع يسمى RTF كما الحال مع HTML ..تضيف RTF شفرات تنسيق خاصة إلى نصك لتحديد معلومات الخط وحجم النص ونمطه ونمط الفقرات ومحاذاتها وخيارات تنسيق شائعة أخرى .. وقب أن نبدأ في شرح خطو التصميم يجب أن نعلم أننا لن نستخدم هنا جميع أوامر برنامج الدفتر ولكن أهمها للمستخدم ..
أولاً :التصميم ..
سنتحاج في خطوة التصميم للأدوات التالية :
1- نختار هذه الأداة من Components حيث نبحث عن 6.0 Microsoft Rich Textbox Control
ونحملها على صندوق الأدوات..أن عملية إنشاء مربع نص بواسطة أداة مربع النص الغني مشابهة لإنشاء مربع نص بواسطة أداة مربع النص القياسي . لكن الفروقات بين الأداتين تصبح واضحة عندما نبدأ بمعالجة خصائص مربع النص الغني وطرقه ..الآن نقوم بسحب هذه الأداة إلى النموذج.. لإنشاء مربع نص بالحجم الذي تريده ..واجعل من خواص هذه الأداة وهي خاصية Text فارغة ..
2- أداة Common Dialog والموجودة أيضاً في Components حيث بنفس الطريقة السابقة نبحث عن 6.0 Microsoft Common Dialog Control ولكن لماذا هذه الأداة ؟!
بواسطة هذه الأداة نستطيع الحصول على صناديق الحوار الشائعة ( فتح ،حفظ باسم ، خط ..الخ ) حيث سنستخدمها باستمرار في درسنا .. نقوم بسحب هذه الأداة إلى أي جزء في النموذج وبأي حجم لها لأنها لن تظهر في التنفيذ ..
3- وحتى نقوم بتنفيذ الأوامر على النص المراد التطبيق عليه ، إما أن ننشئ أزاراً أو قوائم..والقوائم أفضل للذين تعلموا كيفية إنشائها ..والقوائم التي نريدها هي ثلاث قوائم رئيسية وهي ملف، وتحرير ،وتنسيق ..فقائمة ملف تحتوى على الآتي :فتح وحفظ باسم وطباعة وإغلاق وخروج ،وقائمة تحرير تحتوي على نسخ وقص ولصق ،وقائمة تنسيق تحتوي على أحرف كبيرة وخط وقائمة فرعية باسم "نوع الخط" والتي بدورها تحوي :عريض ، مائل ،تحته خط ..ومن الممكن الاستغناء عن القائمة الفرعية "نوع الخط " لأن تنسيقات هذه القائمة الفرعية موجودة في صندوق الحوار خط والذي سنستخدمه ..
ثانياً : الشفرات ..
سنذكر شفرات محتويات القائمة ملف في هذا الدرس (حتى تطبقوها) ثم نشرحها بالتفصيل في الدرس التالي إن شاء الله تعالى ..
1- شفرات القائمة ملف :
نعرف المتغير unsavedchanges في الـ Generalمن نوع Boolean لأننا سنحتاجه على مستوى الـForm ..
شفرة خيار فتح : هذه الشفرة ستمكننا من الحصول على صندوق الحوار "فتح" المعروف
وستفتح لنا الملفات بالامتداد rtf و txt وهذه هي الشفرة :
CommonDialog1.CancelError = True
On Error GoTo errhandler :
CommonDialog1.Filter = "*.rtf|*.rtf|*.txt|*.txt"
CommonDialog1.ShowOpen
RichTextBox1.LoadFile CommonDialog1.FileName
Errhandler :
ولو أردنا فتح صورة بالامتداد bmp و ico نستخدم هذا الكود :
CommonDialog1.CancelError = True
On Error GoTo errhandler :
CommonDialog1.Filter = "*.bmp|*.bmp|*.ico|*.ico"
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
RichTextBox1 = CommonDialog1.FileName
Errhandler :
شفرة خيار حفظ باسم :
CommonDialog1.CancelError = True
On Error GoTo errhandler:
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.FileName, rtfRTF
unsavedchanges = False
errhandler :
شفرة الطباعة :
RichTextBox1.selprint (Printer.hDC)
شفرة إغلاق الملف الحالي :
CommonDialog1.CancelError = True
On Error GoTo errhandler:
If unsavedchanges = True Then
m = MsgBox("هل تريد حفظ التغييرات", vbExclamation + vbYesNo + vbDefaultButton1, "تنبيه")
If m = vbYes Then
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.FileName, rtfRTF
End If
End If
RichTextBox1.Text = ""
unsavedchanges = False
errhandler :
شفرة الخروج من البرنامج :
End [/ALIGN]
وبالتوفيق ..
المرجع : محاضرات في مادة الـ sumilation أي المحاكاة ..
وكتاب VisualBasic6.0 خطوة خطوة لمؤلفه مايكل هالفرسون ..
ترجمة :مركز التعريب والبرمجة ، نشر الدار العربية للعلوم ..