سؤال

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

هل كانت مفيدة؟

المحلول

لا يتم تعيين الحدود المؤشر من قبل التطبيق، ولكن عن طريق ويندوز نفسه. على حد علمي لا يوجد طريقة لجعل المؤشر يشير خارج الشاشة.

هل يمكن محاكاة ما تريد بفعل ما تفعله كثير من المباريات. لا رسم المؤشر ويندوز، ورسم مخصصة واحدة في نافذة التطبيق. قوة المؤشر الحقيقي (وليس الانجرار) للبقاء في وسط الشاشة. في كل مرة المستخدم بتحريك المؤشر الحقيقي، حرك المؤشر التطبيق الخاص بك وفقا لذلك وإعادة مكان المؤشر الحقيقي للوسط الشاشة.

وهذا سيعطي وهم ما تريد، ولكن لا أعتقد WPF يمكن التعامل مع هذا.

نصائح أخرى

ليست هناك من موضع المؤشر الشاشة في ويندوز. أعتقد يحدها الماوس عن طريق دقة الشاشة، حتى لو كان ويندوز ليست كذلك.

إذا كنت نلقي نظرة على لقطات الشاشة من MaxiVista الذي " ستجد لقطة شاشة تظهر إدارة الأجهزة:

إدارة الأجهزة http://www.maxivista.com/pics/screenshots/vista_devicemanager_en GIF.

وكما ترون أنها <م> ببساطة كتب محول العرض الظاهري، الذي يوفر حجم العرض الخاص به. لذلك سيتم إبلاغ الإطارات حول حجم المتاح من مثل 2560x1600 سيكون من الممكن ويسمح لهذه الحدود لجميع النوافذ والماوس. الآن الأمر متروك برنامج تشغيل العرض على إحالة الأجزاء اليمنى من هذه الشاشة الظاهري إلى محولات أجهزة العرض الحقيقي الحالية بحيث يتم عرض الجزء الأيمن على كل جهاز مادي.

أعتقد أن هذا ممكن. هذا البرنامج سيمكن من استخدام جهاز كمبيوتر ثانوي كشاشة إضافية.هناك العديد من البرامج التي تتيح لك معرفة الإحداثيات التي يوجد بها مؤشر الماوس.على سبيل المثال AutoIt سوف تفعل ذلك بسهولة.

enter image description here

عندما تقوم بتثبيت autoit، فإنه يأتي مع هذه الأداة المساعدة التي ستتيح لك معرفة الإحداثيات التي تضع فيها الماوس.عندما التقطت الشاشة، لم يظهر الماوس ولكني رسمت نقطة زرقاء حيث يوجد الماوس.علماً بأن الإحداثيات هي 710، 1464.تبلغ دقة شاشتي الآن 1200 * 1920 (يتم تدوير شاشتي).لذلك، باستخدام Autoit، أستطيع وضع مؤشر الماوس الخاص بي عن طريق القيام بشيء مثل

enter image description here

عندما أقوم بتشغيل برنامج autoit هذا فإنه سيحرك الماوس إلى هذا الموقع.يبدو أن الإجابات على هذا السؤال صحيحة لأنني غير قادر على تحريك الماوس أكثر من 1200 إلى اليمين. بمعنى آخر، سيؤدي تنفيذ MouseMove(2500,800) إلى نقل الماوس إلى 1200,800. الآن مثير للاهتمام الجزء هو كيف يحدث ذلك أنا قادر على تحريك الماوس إلى (2500800)!إذا كنت تستخدم هذا البرنامج وبعبارة أخرى تنفيذ MouseMove(2500,800) يعمل الآن مع Autoit وينتقل الماوس فعليًا إلى الكمبيوتر الآخر (يجب أن يكون Maxivista قيد التشغيل). يوضح Maxivista أنه يمكن أن تكون هناك طريقة لتحريك الماوس خارج دقة الشاشة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top