所以我有一个基于 MFC
的应用程序,它主要派生自 CDialog
,带有一些控件等。
由于某些原因,它需要托管在另一个应用程序中,使用基于CView
的容器类。
所以必须有某种方式...在容器类中使用 CDialog
托管这个东西,它期望这个东西是 CView
。
容器类对我关闭。它需要一个 CView
,但我可以修改基于对话框的应用程序。
有没有一种简单的方法可以从基于CDialog
的方式迁移到基于CView
的方式,请问我需要看什么。我对 MFC 不是很熟练,这个问题听起来可能很模糊,但这就是我所拥有的。
任何帮助将不胜感激......谢谢。
最佳答案
您可以使用 CFormView。这是一个支持对话框资源模板的 View 。
有问题的代码是在 CFormView 中加载和提交数据。 View 通常由 CDocument 控制,它调用带有一些提示的 UpdateAllViews。
必须更改 OnOK、OnCancel 和 OnInitDalog 的对话框函数以适应 Doc/View 体系结构。
- 将 OnInitDialog 代码移至 OnInitialUpdate,但请注意,在 SDI 应用程序中,OnInitialUpdate 可能会被调用多次。
- OnOK 和 OnCancel 必须通过文档中的一些调用和函数来解决。
关于mfc - CDialog 到 CView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046236/