CDialog到CView

时间:2013-11-18 11:07:08

标签: mfc cdialog cview

所以我有一个基于MFC的应用程序,它主要来自CDialog,带有一些控件等。

出于某些原因,它需要使用基于CView的容器类托管在另一个应用程序中。

所以必须有某种方式......使用CDialog在容器类中托管这个东西,它希望该东西为CView

容器类对我不公开。它会期望CView,但我可以修改基于对话框的应用程序。

是否有一种简单的方法可以从基于CDialogCView的基于{{1}}进行迁移,请问我需要注意什么。我对MFC不是很熟练,问题可能听起来很模糊,但这就是我所拥有的。

任何帮助将不胜感激...谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用CFormView。这是一个支持对话框资源模板的视图。

有问题的代码是在CFormView中加载和提交数据。视图通常由CDocument控制,该文档使用一些提示调用UpdateAllViews。

必须更改OnOK,OnCancel和OnInitDalog的对话框功能以适应Doc / View架构。

  • 将OnInitDialog代码移动到OnInitialUpdate中,但请注意,在SDI应用程序中可能会多次调用OnInitialUpdate。
  • OnOK和OnCancel必须通过文档中的一些调用和函数来解决。