هل النقر بالماوس هو رسالة WM_* أم مجموعة من الرسائل لأعلى ولأسفل؟

StackOverflow https://stackoverflow.com/questions/1440515

  •  10-07-2019
  •  | 
  •  

سؤال

أنا معتاد على العمل باستخدام إطار عمل Windows الذي يوفر أحداثًا لأشياء مثل النقر بالماوس أو النقر المزدوج بالماوس.هل أحداث النقر هي إنشاء Windows (على سبيل المثال؟هل يرسل Windows رسالة WM_DOUBLECLICK أو رسالة مشابهة) أم أنه يرسل WM_MOUSEDOWN وWM_MOUSEUP إلى التطبيقات التي تقوم بعد ذلك ببعض العمليات الحسابية لتقرر ما إذا كان الحدث عبارة عن نقرة أم غير ذلك؟

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

المحلول

ووفقا ل ثائق MSDN والترتيب الصحيح رسائل سترى لهذا الحدث النقر المزدوج هي - WM_LBUTTONDOWN، WM_LBUTTONUP، WM_LBUTTONDBLCLK، وWM_LBUTTONUP

نصائح أخرى

وانها مزيج من الرسائل المرسلة من خلال WindowProc (). كانت الرسائل WM_LBUTTONDOWN، WM_LBUTTONDBLCLK، WM_LBUTTONUP لزر الماوس الأيسر، WM_MBUTTONDOWN وهكذا دواليك لالزر الأوسط، وWM_RBUTTONDOWN وهكذا دواليك لبالزر الأيمن للفأرة. رؤية SDK ويندوز في MSDN للحصول على مزيد من المعلومات .

لا يعد النقر بالماوس مجموعة من رسائل Windows، ولكنه يمكن أن يؤدي إلى ذلك، اعتمادًا على التطبيق الذي تم النقر فوقه.هناك فرق كبير بين مدخلات Windows ورسائل Windows، فهي مجرد أداة لبعض التطبيقات، وتستخدم بعدة طرق مختلفة، كما هو موضح في MSDN:

لقد قدمت أيضًا مثالاً يوضح الفرق بوضوح في سؤالي كيف يمكن استخدام مؤشرات متعددة على عميل Windows واحد؟ فهو يوضح ما هي الرسائل التي يتم إرسالها عن طريق النقر وأن رسائل Windows لا تكون في كثير من الأحيان كافية لمحاكاة النقر بالماوس، ولكن إذا كانت كذلك، فكيف يمكن استخدامها.

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