استضافة نماذج Windows يتحكم في النوافذ الأصلية، فئة النافذة = "ثابت"

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

  •  11-09-2019
  •  | 
  •  

سؤال

أحتاج إلى توفير عنصر تحكم نماذج Windows إلى تطبيق أصلي (Visual Studio).
لذلك أقوم بإنشاء عنصر تحكم وتوفر مقبضه.

ثم، عندما أتحقق من النافذة الأصلية باستخدام Spy ++، أرى أن جهاز التحكم الخاص بي ملفوفا في "تحكم" إضافي مع فئة النافذة = "ثابت" وعنوان "هذا ثابت!". لدي العديد من المشاكل معها:

  1. تغيير حجم الأحداث المرسلة إلى عنصر تحكم من خلال نافذة استضافة يجب إعادة إرسالها إلى "ثابت" لذلك يتم تغيير حجمها (وإلا فإن تحكمي يتم إخفاؤه جزئيا داخل حجم ثابت).
  2. ثابت ليس لديه WS_EX_CONTROLPARENT, ، والذي يسبب KB149501. لتظهر (باختصار، توقف التطبيق بأكمله على التركيز المفقود).
  3. إذا طلبت ذلك WS_EX_CONTROLPARENT, ، ListBox داخل توقف ثابت إعادة رسم.

أعتقد أنني كنت أفعل شيئا خاطئا، لكنني لست متأكدا مما. لا تساعد Google، حيث تكون ثابتة كلمة أساسية أيضا، لذلك يحدث في كثير من الأحيان في نتائج WinForms.

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

المحلول

أغتل مشكلة إعادة رسم المشكلة في الغالب باستخدام DoubleBuffered = True، لذلك ربما هذا هو.
ما زلت أعتقد أنني أفعل شيئا خاطئا، ولكن على الأقل يعمل الآن.

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