سؤال

لذلك لدي MFC التطبيق القائم، والذي هو مشتق في المقام الأول من CDialog, مع بعض الضوابط الخ

لأسباب معينة، يجب استضافتها في تطبيق آخر، باستخدام فئة حاوية تعتمد على CView.

لذلك يجب أن تكون هناك طريقة ما... لاستضافة هذا الشيء، باستخدامه CDialog, ، داخل فئة الحاوية، التي تتوقع الشيء كـ a CView.

فئة الحاوية مغلقة في وجهي.وسوف يتوقع أ CView, ، لكن يمكنني تعديل التطبيق القائم على الحوار.

هل هناك طريقة سهلة للهجرة من CDialog على أساس CView على أساس، وما الذي أحتاج إلى إلقاء نظرة عليه، من فضلك.أنا لست ماهرًا جدًا في التعامل مع MFC، وقد يبدو السؤال غامضًا، ولكن هذا ما لدي.

سيكون موضع تقدير أي مساعدة...شكرا.

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

المحلول

يمكنك استخدام CFormView.هذا عرض يدعم قوالب موارد الحوار.

يقوم الكود الإشكالي بتحميل البيانات وإرسالها إلى ومن CFormView.يتم التحكم في طرق العرض عادةً بواسطة مستند CD، الذي يستدعي UpdateAllViews مع بعض التلميحات.

يجب تغيير وظائف الحوار الخاصة بك لـ OnOK وOnCancel وOnInitDalog لتتناسب مع بنية Doc/View.

  • انقل رمز OnInitDialog إلى OnInitialUpdate، ولكن انتبه إلى أنه في تطبيق SDI قد يتم استدعاء OnInitialUpdate أكثر من مرة.
  • يجب حل OnOK وOnCancel عن طريق بعض الاستدعاءات والوظائف من المستند.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top