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


                                                          بسم الله الرحمن الرحيم
 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 فان هذا معناه أن الزر الأيسر للماوس و الزر الأيمن للماوس مضغوط عليهم بينما الماوس قيد الحركة .

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