الدرس 7: التعرف الى الأحداث الشائعة في فيجوال بيزيك
- التفاصيل
- الزيارات: 13569
يوجد مجموعة من الأحداث الشائعة التي تستخدم بكثرة وهي:
الحدث Click: يقع هذا الحدث عند الضغط على الأداة بزر الماوس الأيسر، يعتبر الحدث Click من أكثر الأحداث استخداماً فهو متوفر لمعظم الأداوت وأهمها زر الأوامر CommandButton.
مثال:
1- ابدأ بمشروع جديد.
2- ضع زر أوامر Command1 على النافذة.
3- اضغط على الزر ضغطتين سريعتين للحصول على نافذة الشفرة.
4- اكتب الشفرة التالية:
MsgBox “لقد تم الضغط على الزر”
وبالتالي يجب أن تبدو نافذة الشفرة كما يلي:
يستخدم الأمر MsgBox لعرض رسائل نصية على المستخدم.
5- من القائمة الموجودة في أعلى يسار النافذة اختر
Form، ومن القائمة اليمنى اختر Click، فيظهر السطرين:
Private Sub Form_Click ( )
End Sub
وهذا دلالة على أن ما سنكتبه الآن سينفذ عند الضغط على سطح النافذة.
1- اكتب الشفرة التالية بين السطرين السابقين:
MsgBox “ لقد تم الضغط على سطر النافذة ”
وبهذا ستبدو نافذة الشفرة مشابه للشكل.
2- نفذ البرنامج السابق بالضغط على المفتاح F5 أو باختيار الأمر Run-Start، وبعد ذلك قم بتجربة البرنامج بالنقر على الزر ثم على النافذة، وانتبه للرسائل التي ستظهر.
3- احفظ هذا المشروع، لأنك قد تعود إليه لاحقاً.
ملاحظة: تذكر أنك ستطالب بحفظ ملفين هما ملف النافذة ولاحقته FRM وملف المشروع ولاحقته VBP.
الحدث Dblclick:
يقع هذا الحدث عند الضغط المزدوج فوق الأداة.
مثال:
1- ابدأ بمشروع جديد.
2- ضع أداة عنوان Label على النافذة.
3- في الحدث Dblclick الخاص بالأداة Label، قم بكتابة الأمر:
End
يجب أن تبدو نافذة الشفرة مشابة لما يلي:
4- نفذ البرنامج، ثم اضغط فوق أداة العنوان ضغطتين مزدوجتين فينفذ الأمر End ويغلق البرنامج.
الحدث KeyPress:
يقع هذا الحدث عند الضغط على مفتاح ما من لوحة المفاتيح، ولمعرفة المفتاح المضغوط نستطيع اختبار قيمة الوسيط KeyAscii الخاص بهذا الحدث، حيث يمثل KeyAscii رقم المفتاح المضغوط في جدول الآسكي.
مثال:
1- ابدأ بمشروع جديد.
2- ادخل إلى الحدث KeyPress التابع للنافذة Form، فتظهر لك نافذة الشفرة كما يلي:
3- اكتب الأمر End.
Private Sub Form_KeyPress(KeyAscii As Integer)
End
End Sub
4- نفذ البرنامج، واضغط على أي مفتاح فيُغلق البرنامج.
ملاحظة: كان من الممكن تحديد مفتاح معين ليقوم بإغلاق البرنامج، وذلك باختبار قيمة الوسيط KeyAscii على الشكل:
IF KeyAscii=27 THEN End
أي إذا ضُغط على المفتاح 27 (Esc) قم بإنهاء البرنامج.
الحدث Keydown:
يقع هذا الحدث عندما نضغط فوق أحد أزرار لوحة المفاتيح وقبل الإفلات، وهو يقدم وسيطين هما:
Keycode: وهو يمثل رقم المفتاح المضغوط، وهذا الرقم يشمل مفاتيح التحكم أيضاً.
Shift: ويستخدم لمعرفة إن كان أحد مفاتيح التحكم (Ctrl, Alt, Shift) مضغوطاً أثناء ضغط المفتاح، فهذا الوسيط يمكن أن يأخذ إحدى القيم التالية:
1 ويعني أن المفتاح Shift مضغوطاً أثناء ضغط المفتاح.
2 ويعني أن المفتاح Ctrl مضغوطاً أثناء ضغط المفتاح.
4 ويعني أن المفتاح Alt مضغوطاً أثناء ضغط المفتاح.
ملاحظة: لايوجد 3 لأن 3=2+1 ومعنى ذلك أن المفتاحين Shift و Ctrl مضغوطين، فانتبه لذلك!
مثال:
ادخل إلى الحدث KeyDown الخاص بالنافذة واكتب الشفرة:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 1 And KeyCode = 27 Then End
End Sub
أي إذا تم ضغط Shift+Esc قم بإنهاء البرنامج.
الحدث KeyUp: وهو نفس الحدث Keydown تماماً ولكنه يقع بعد إفلات المفتاح المضغوط .
الحدث MouseMove :يقع هذا الحدث عندما نقوم بتحريك مؤشر الماوس فوق النافذة، ويقدم أربع بارا مترات:
1. Button: ومنه تستطيع اختبار الزر المضغوط أثناء التحريك، ويأخذ هذا الوسيط ثلاث قيم هي:
1 للزر الأيسر،2 للزر الأيمن، 4 للزر الأوسط.
ملاحظة: يمكن جمع الأرقام السابقة للحصول على ضغط زرين، فمثلاً الرقم 3 يعني أن الزرين الأيسر والأيمن مضغوطين أثناء تحريك الماوس.
2. Shift: ومنه تستطيع معرفة إن كان أحد المفاتيح (Shift,Ctrl,Alt) مضغوطاً أثناء تحريك الماوس.
3. X و Y: يمثلان إحداثيات مؤشر الماوس على النافذة.
مثال:
1- أدخل الشفرة التالية في الحدث MouseMove التابع للنافذة:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line (0, 0)-(X, Y)
End Sub
أي ارسم خط من الموقع (0,0) إلى موقع المؤشر على النافذة (x,y).
2- نفذ البرنامج، ثم حرك مؤشر الماوس فوق النافذة وانظر كيف يتم رسم الخطوط.
3-أغلق البرنامج ثم استبدل الشفرة السابقة بالشفرة التالية:
IF Button = 2 Then Line (0, 0)-(X, Y)
الآن – وبعد التنفيذ- لن يتم رسم الخط إلا إذا ضغطنا الزر الأيمن أثناء تحريك الماوس على النافذة.
الحدث MouseDown: يقع هذا الحدث عندما يقوم المستخدم بالضغط على النافذة بأحد أزرار الفأرة وقبل الإفلات، وهذا الحدث يقدم أربع وسطاء هي نفسها وسطاء الحدث MouseMove.
الحدث MouseUp: يشبه هذا الحدث حدث MouseDown ولكنه يقع عند إفلات زر الماوس بعد أن يكون مضغوطاً.
الحدث Load: وهو خاص بالنافذة فقط، ويقع عند تحميل النافذة، أي يقم عند تنفيذ البرنامج. يستخدم هذا الحدث لعرض رسائل الترحيب، وتهيئة المتحولات وفتح الملفات وغير ذلك.
مثال:
1-اكتب الأمر التالي في الحدث Load التابع للنافذة:
MsgBox “مرحباً بكم”
2- نفذ البرنامج، وستلاحظ ظهور الرسالة السابقة قبل ظهور النافذة.
ترجمة وإعداد : باسل زعرور