الخميس، 22 مارس 2012

Mouse Events In Visual Basic 6.0احداث الماوس في فيجوال بيسك


                                                          بسم الله الرحمن الرحيم
 Mouse Events In Visual Basic 6.0




 الـ Mouse هو أداه لصناعة الـ Graphics اكثر من أى اداه اخرى للمستخدم و نحن نستخدم الـ Mouse لعمل Click و DblClick على الكائنات Objects لخاصة بالـ VB 6.0 .
و هنا فى هذا الدرس نتعلم كيفية ستخدام باقى أحداث الـ Mouse للرسم Draw على الـ Form و Picture Boxes فى بيئة الـ Visual Basic 6.0 .
MouseDown Event

حدث الـ MouseDown : حيث يصبح الحدث فعال أو قيد التنفيذ عند الضغط على زر الماوس و مؤشر الماوس فوق الـ Object المراد تنفيذ الحدث عليه و شكل هذا الاجراء يكون بالنسبه للـ Form كالتالى :

Sub ObjectName_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
.
.

End Sub

المعاملات السابقه تدل على :
Button : أى زر من أزرار الماوس تم الضغط عليه
Shift : يفيد حالة الضغط على مفتاح Shift - Ctrl - Alt
X,Y : احداثيات مؤشر الماوس عند الضغط عليه
و قيم المعامل Button تكون كالتالى :
vbLeftButton : قيمه (1) الزر الأيسر للماوس
vbRightButton : قيمه (2) الزر الأيمن للماوس
vbMiddleButton : قيمه (4) الزر الأوسط للماوس .
و قيم المعامل Shift تكون كالتالى :
vbShiftMask : قيمه (1) الزر Shift تم الضغط عليه.
vbCtrlMask : قيمه (2) الزر Ctrl تم الضغط عليه.
vbAltMask : قيمه (4) الزر Alt تم الضغط عليه.
ايضا اذا كان Shift = 5 هذا معناه ان كلا من (vbShiftMask + vbAltMask) تم الضغط عليهما معا اثناء تنفيذ الحدث Mouse Down .

MouseUp Event

و هو عكس أو نقيض الحدث السابق MouseDown و يصبح الحدث فعال أو قيد التنفيذ بعد حدوث الحدث الأول أو السابق له و هو MouseDown Event أى بعد ان يصبح زر الماوس حر او غير مضغوط عليه بعد أن كان مضغوط عليه و شكل الاجراء يكون بالنسبه لـ Object الـ Form هو كالتالى :
Sub ObjectName_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
.
.
End Sub

و له نفس معاملات و ثوابت الحدث السابق MouseDown Event .

MouseMove Event

و هو حدث مستمر يتم تنفيذه فى أى وقت يكون الماوس يتحرك على الـ Object و فى هذه الحاله الـ Form فكلما و جد كود ما فى الحدث MouseMove ينفذ كلما تحرك الماوس على الفورم مثلا .
و يكون شكل الاجراء الخاص بهذا الحدث فى حالة الفورم كالتالى :
Sub ObjectName_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
.
.
End Sub

و له نفس خواص و معاملات الحدثين السابقيت فيما عدا اختلاف و هو أن Button يمكن أن يمثل زر واحد أو عدة أزرار معا مضغوط عليها , على سبيل المثال اذا كان :
Button = 0 فان هذا معناه أنه لا يوجد زر من أزرار الماوس مضغوط عليه بينما الماوس قيد الحركة.
Button = 3 فان هذا معناه أن الزر الأيسر للماوس و الزر الأيمن للماوس مضغوط عليهم بينما الماوس قيد الحركة .

ويمكن استخدام هذه الاحداث في برنامج الرسام.