الدرس 11: استخدام أدوات وأوامر Visual Basic في بناء البرامج

  • طباعة

من أين نبدأ:

في الحقيقة هناك صعوبة كبيرة في تحديد نقطة البداية، وهناك صعوبة أكبر في تحديد المسار الذي يجب علينا سلوكه لتعلم Visual Basic، فالأدوات والأوامر كثيرة جداً، والمواضيع متعددة ومتشعبة.
كما هو معروف إن أفضل طريقة لتعلم أي لغة برمجة، هي من خلال تطبيق عدد كبير من الأمثلة والتمارين في هذه اللغة. ولكننا لا نستطيع اتباع هذه الطريقة مباشرةً في Visual Basic، لأننا بحاجة إلى معرفة الكثير حول الأدوات وكيفية استخدامها، ولذلك سنقوم في هذا الفصل بعرض جميع أدوات Visual Basic القياسية  (استخدامها، خصائصها، أحداثها) وبالطبع لن نكرر ما سبق وذكرناه عن الأحداث والخصائص العامة، ولكي لا تبقى الأمور مجردة ومملة قمنا بكتابة العديد من التطبيقات العملية التي تستخدم هذه الأدوات، وذلك لدعم الفكرة وتوضيح المعنى.
 
تعتبر الفقرات القادمة بمثابة دليل لاستخدام أدوات Visual Basic، لذلك يمكنك تجاهل عرض الأدوات، والانتقال مباشرةً إلى التطبيقات العملية


أولاً : نافذة البرنامج Form:

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

 

خصائص النافذة Form:

à        الخاصية Appearance (المظهر):

تحدد هذه الخاصية شكل النافذة ومتوفرة في زمن التصميم فقط وتقبل قيمتين هما :

      Œ         Flat (0): وعندها ستظهر النافذة مسطحة.

               3D  (1):وعندها ستظهر النافذة بأثر ثلاثي الأبعاد.

à        الخاصية Border Style: تحدد هذه الخاصية شكل إطار النافذة وهي قابلة للتغيير وقت التصميم فقط ولها ست وضعيات أهمها:

      Œ         None  (0): تظهر النافذة بدون حد أو شريط عنوان وبالتالي لا توجد أزرار تحكم بالنافذة .

        FixedSingle(1): تظهر النافذة بحد مفرد بحيث لا يمكن تغيير حجم النافذة من أحد حدودها ويظهر شريط عنوان لا يحوي أزرار التكبير والتصغير.

   Ž    Sizable (2): وهي القيمة الافتراضية للنافذة حيث يمكن تغيير حجم النافذة باستخدام السحب من الحدود ويظهر شريط العنوان وعليه كافة أزراره.

à        الخاصية ControlBox: تستخدم هذه الخاصية للتحكم بإظهار أزرار الإغلاق والتكبير والتصغير وأيقونة التحكم ولها قيمتان:

      Œ         True:  وهي القيمة الافتراضية حيث تظهر أزرار التكبير والتصغير والإغلاق وأيقونة التحكم.

               False: وعندها لا تظهر أزرار التكبير والتصغير والإغلاق وأيقونة التحكم على شريط العنوان.

à        الخصائص (DrawMode , DrawStyle , DrawWidth): تتحكم هذه الخصائص بأسلوب الرسم على النافذة وهذا سيتم شرحه لاحقاً.

à        الخصائص Fillcolor ، FillStyle : الأولى لون التعبئة والثانية شكل التعبئة، وستشرح لاحقاً.

à        الخاصية Font: تستخدم من أجل تحديد شكل ونوع وحجم الخط الذي يستخدم للطباعة عند استخدام الأمر Print.

à        الخاصية ForeColor: وهي تحدد لون الكتابة عند استخدام الأمر Print ولون الرسم عند استخدام أوامر الرسم.

à   الخاصية Icon: تحدد شكل أيقونة التحكم التي تظهر على شريط العنوان للنافذة حيث يمكن تغيير شكلها باستخدام ملفات الأيقونات ذات الامتداد ico أو cur.

à   الخاصية MaxButton: تستخدم هذه الخاصية من أجل تفعيل زر التكبير، وليس لهذه الخاصية تأثير في حال كانت الخاصية ControlBox تملك القيمة False أو كانت BorderStyle تملك القيمة None.

à   الخاصية MinButton: تستخدم هذه الخاصية من أجل تفعيل زر التصغير، وليس لهذه الخاصية تأثير في حال كانت الخاصية ControlBox تملك القيمة False أو كانت BorderStyle تملك القيمة None.

في حال عدم تفعيل كل من MaxButton أو MinButton فإن VB ستقوم بإخفاء هذين الزرين.

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

      Œ         True: عندها يمكن تحريك النافذة بسحبها من شريط العنوان.

               False: عندها من المستحيل تحريك النافذة.

à        خاصية RightToLeft :وتستخدم لتعريب النافذة وهذا التعريب يشمل :

      Œ         ظهور عنوان النافذة على يمين شريط العنوان.

               الطباعة بالأمر Print ستتم بدءاً من اليمين.

      Ž         القوائم في حال وجودها- ستظهر من على اليمين.

à        خاصية StartUpPostion :وتستخدم لتحديد موقع النافذة بالنسبة للشاشة عن بدء البرنامج ،ولها القيم :

      Œ         None    (1):  عندها ستظهر النافذة كما هو محدد لها من خصائص Left و Top .

               CenterScreen  (2) :وعندها ستظهر النافذة في منتصف الشاشة.

à        خاصية MousePointer: تحدد شكل مؤشر الماوس عند مروره فوق النافذة (Form) ، وهناك 16 قيمة يمكن الاختيار منها، وهناك القيمة 99-custom والتي تسمح لنا بتحديد شكل المؤشر اعتماداَ على خاصية MouseIcon والتي تستخدم لتحديد صورة لتظهر بدلاً من مؤشر الماوس.

à        خاصية Picture: وتستخدم لتحميل صورة ما ووضعها على النافذة، ومن الجدير بالذكر أن VB تستطيع التعامل مع عدد كبير من الصور أهمها :*.BMP و *.WMF و *.DIB و .ICO * و *.JPG...

لإزالة الصورة من على النافذة نقوم  بتحديد قيمة الخاصية Picture  ثم نضغط على المفتاح Delete.

à        خاصية WindowState : تستخدم لتحديد حجم النافذة عند تشغيل البرنامج ولها ثلاث قيم هي:

      Œ         (0)      Normal: وعندها ستظهر النافذة بالحجم المحدد لها من خاصتي  Width و Height للنافذة.

               (1) Minimized: وعندها ستظهر النافذة مصغرة على شريط المهام.

      Ž         (2) Maximized: وعندها ستظهر النافذة ملء الشاشة.

 

أحداث النافذة Form :

à   الحدث Load: وهو من أهم أحداث النافذة و أكثرها استخداماً على الإطلاق، فهذا  الحدث يقع عند تحميل النافذة إلى الذاكرة
وفي حال كان البرنامج مؤلف من نافذة واحدة فإن هذا الحدث يقع عند تشغيل البرنامج.

يستعمل حدث Load من أجل تهيئة البرنامج (تحديد حجوم الأدوات، تنسيق الألوان، إعطاء قيم بدائية للمتحولات، فتح الملفات النصية والعشوائية، ).

إن Visual Basic  تنفذ الشفرة الموجودة في الحدث Form_Load أولاً ومن ثم تُظهر النافذة .

à   الحدث Keypress:  يقع هذا الحدث عندما يقوم المستخدم بضغط أحد أزرار لوحة المفاتيح، وهذا الحدث يتعلق بالخاصة KeyPreview التابعة للنافذة، وهذه الخاصة هي خاصة منطقية تقبل قيمتين هما:

-         True عندها تستقبل النافذة ضغطات المفاتيح قبل الأدوات.

-         False عندها تستقبل الأداة النشطة ضغطات المفاتيح ولن تصل هذه الضغطات إلى النافذة أبداً.

والحدث Keypress يحوي وسيط هو KeyAscii الذي يمثل رقم المفتاح المضغوط في جدول الآسكي.

à   الحدث Resize: يقع هذا الحدث بعد كل تغيير في حجم النافذة، سواءٌ كان هذا التغيير ناتج عن استخدام أزرار التكبير والتصغير أو كان ناتج عن السحب من حدود النافذة.

à   الحدث UnLoad : يقع هذا الحدث عند محاولة إزالة النافذة من الذاكرة، سواءٌ  كان ذلك باستخدام زر الإغلاق أو باستخدام الأمر Unload Form لإزالة النافذة أو استخدام الأمر End في حال نافذة واحدة.

يحوي الحدث UnLoad وسيط وحيد هو Cancel الذي يستخدم لمنع إغلاق النافذة وذلك كما يلي:

Cancel = True

à    الحدث Paint : يقع هذا الحدث كلما قامت النافذة بإعادة رسم نفسها، وهذا يحدث عندما تقوم نافذة أخرى بتغطية هذه النافذة ثم نقوم نحن بتنشيط نافذتنا أو عند تصغير النافذة ثم تكبيرها.