مساعدة في نقر الماوس على PictureBox - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : مساعدة في نقر الماوس على PictureBox (/showthread.php?tid=13131) |
مساعدة في نقر الماوس على PictureBox - YazanOtoum - 05-09-15 السلام عليكم
اخواني
لدي مشروع موجود به picturebox ويقوم بالتقاط صورة لشاشة الجهاز عند فتحه
الان انا اعرف كيف اقوم بجعل الماوس ينقر على postion معين في الشاشة
ولكن لم اعرف كيف احتسب postion picturebox بالنسبة للشاشة يعني اجعل عندما اضغط على مثلا داخل picturebox عند صورة form1 كما هو موضح بالصورة ...يجعله يقوم بالنقر بشكل حقيقي على الشاشة الكامله
انا اعرف موضوي معقد ويمكن ما عرفت اوصل الفكرة ولكن باختصار شديد اعتبر Picturebox اعتبارا انها RemoteDesktop ولما تضغط عليها انت عمم تتحكم بششاشة الجهاز
ارجوا انو وضحة وشكرا لكم
كود لتحديد Postion في picturebox عند الضغط عيها
كود : Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseClick وهذا كود لتغير مكان mouse
اي postion الخاص به
كود : Private Declare Function SetCursorPos Lib "user32.dll" ( _ والاستدعاء :
كود : SetCursorPos(5, 5) وتغير الرقمين 5
و كود النقر
كود : Private Declare Sub mouse_event Lib "user32.dll" ( _ والاستدعاء بالنقر يمين او شمال mouse
كود : mouse_event(&H2, 0, 0, 0, 1) الصورة المرفقة فيها برنامجي Form1 ملتقط صورة للشاشة والشاشة الاصلية
RE: مساعدة في نقر الماوس على PictureBox - الطالب - 05-09-15 سلام لم افهم مقصد بشكل واضح ولكن MousePosition تعطيك احداثيات x,y المؤشر بالنسبه للشاشه كامله مثل Dim myX As Integer = MousePosition.X Dim myY As Integer = MousePosition.Y موفقين RE: مساعدة في نقر الماوس على PictureBox - silverlight - 05-09-15 لكي تتم الحسابات بشكل دقيق عليك أن تربط إحداثيات Bounds و Location الخاصيين ب PictureBox مع نفطة الصفر لشاشة الكمبيوتر و نقطة الصفر هنا هي النقطة الموجودة في أعلي يسار شاشة الكمبيوتر , وبما أن PictureBox نفسه موجود داخل Form إذن عليك أن تربط إحداثيات الفورم أيضا مع نقطة الصفر و هنا ستجد انك تقوم بعملية مزدوجة لكي تقوم بمثل تلك العمليات الحسابية لذلك و بدلا من استخدام PictureBox عليك ان تستخدم الفورم نفسه بشكل مباشر في أخذ الصورة من سطح الكمبيوتر وعلي فكرة أنت لست في حاجة أن تتستخدم UnManaged Code لتحديد أماكن الماوس أو تغيير شكل Cursor فكل هذا من الممكن ان يتم داخل احداث مثل Mouse Down و Mouse Move و Mouse Up عموما انا اعمل علي فكرة مشابهة و قاربت علي الإنتهاء من كتابة الكود و ربما غدا أضع الكود في قسم المقالات ليستفيد منه الجميع ولأنه مش واضح قوي ماذا تريد أن تفعل لكن أنا أتوقع أنك تريد تحديد مكان جزء معين من الصورة الموجودة داخل Picturebox لذلك عليك ان تستخدم MousePosition لتحديد مكان الماوس علي شاشة الكمبيوتر ثم تقوم بتعريف مستطيل مركزه تلك النقطة و تحدد أنت أبعاده ثم تقوم بنقل احداثيات مركز المستطيل لتحديد مكانه علي سطح الكمبيوتر وربما عليك أن تربطه مع مكان PictureBox Control لذلك وإن كانت توقعاتي صحيحة يمكنك أن تبدأ من هنا حيث ستجد بعض الأفكار في اللينك التالي اللينــــــــــــــــــك RE: مساعدة في نقر الماوس على PictureBox - YazanOtoum - 05-09-15 اخواني هذه احدى محاولاتي (الصورة في المرفقات) Postion Mouse هو Postion الخاص بالماوس في شاشة الوندز Postion Image هو Postion الماوس ولكن فقط على PictureBox الموجودة في الفورم Result Postion وهو محاولتي في ايجاد postion الحقيقي اقصد تاع Screen والذي يجب ان يكون كما هو في Postion Mouse ولكن لم ينفع محاولتي : الكود : كود : Public Class Form1 RE: مساعدة في نقر الماوس على PictureBox - YazanOtoum - 05-09-15 ههههههههههههههه اخواني كود السابق صحيح ويعطي المطلوب وتم الحل والتوضيح : في المرفقات بالصورة RE: مساعدة في نقر الماوس على PictureBox - fdhrg - 24-12-20 (05-09-15, 05:01 PM)YazanOtoum كتب : ههههههههههههههه |