جزءا لا يتجزأ من MSHTML: عجلة الماوس تجاهلت

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

  •  08-07-2019
  •  | 
  •  

سؤال

في طلبي VC ++ لدي متصفح جزءا لا يتجزأ من (MSHTML). أنه يعمل بشكل جيد ويتعامل مع الماوس بشكل صحيح (على سبيل المثال، النقرات ويختار تتم معالجة OK). ومع ذلك، تناوب عجلة الماوس فوق متصفح جزءا لا يتجزأ من لا يكون له أي تأثير. هذه هي مشكلتي.

وأنا لم تكن مألوفة جدا مع الأجزاء الداخلية من MSHTML التضمين، وOLE بشكل عام. هذا هو تطبيق كويدغيتس (كويدغيتس هو ++ مكتبة GUI C)، وأنا الاستفادة من عنصر IEHTMLWin لها (التي تستضيف عنصر تحكم MSHTML ويلتف في واجهة wxWindow). ومع ذلك، لدي مصدر وأنا على استعداد للقيام ببعض التصحيح.

والنسيان كويدغيتس والتحدث بحت حول OLE وMSHTML، ما هو المكان المناسب للبدء في النظر للقضية المشكلة؟ حاولت غوغلينغ السذاجة لأنواع من "أحداث الماوس MSHTML" أو "عجلة MSHTML"، لكنه لم يعط أي مؤشرات جيدة.

وإذا كنت تريد أن تأخذ نظرة على مدونة IEHTMLWin، ويمكن تصفحها <لأ href = "http://wxcode.cvs.sourceforge.net/viewvc/wxcode/wxCode/components/iehtmlwin/src/" يختلط = "نوفولو noreferrer"> هنا . الملف iehtmlwin.c (1،5 ك خطوط) لديه كل رمز المتعلقة OLE وبتنفيذ كافة واجهات اللازمة لاستضافة تحكم مستعرض الويب. ومن الجدير بالذكر أن أحداث الماوس لا تمضي إلى تحتوي على wxWindow على الإطلاق (ويسمى OnMouse أبدا).

{محدث} MSHTML نسخة: 6.00.2900.3314. التطبيقات الأخرى التي تستضيف هذه السيطرة (بما في ذلك IE) دعم عجلة القيادة. {/ UPD}


وكان jdigital تلميح (بخصوص winspector) مفيدة جدا. بعد بعض الرسائل استنشاق، وأنا أدرك أن المشكلة المتعلقة التركيز. وانقر على عنصر تحكم مستعرض بطريقة أو بأخرى لا يتم تعيين التركيز على عنصر تحكم مستعرض (على عكس، مثلا، RICHEDIT)، ولا يتم إرسالها WM_MOUSEWHEEL هناك. وبالتالي فإن مشكلة جديدة هو وضع التركيز.

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

المحلول

وحاول Winspector ( http://www.windows-spy.com/ ) والتي سوف يسمح لك أن ترى الرسائل النوافذ. تأكد من أن يتم الحصول على مر الأحداث عجلة التمرير من خلال.

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