3

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

由于某些原因,它需要托管在另一个应用程序中,使用基于CView.

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

容器类对我关闭。它需要一个CView,但我可以修改基于对话框的应用程序。

有没有一种简单的方法可以从CDialog基础迁移到CView基础,我需要看看什么。我对 MFC 不是很熟练,这个问题可能听起来很模糊,但这就是我所拥有的。

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

4

1 回答 1

3

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

有问题的代码是将数据加载到 CFormView 和从 CFormView 提交数据。视图通常由 CDocument 控制,该 CDocument 调用带有一些提示的 UpdateAllViews。

必须更改 OnOK、OnCancel 和 OnInitDalog 的对话框函数以适应 Doc/View 架构。

  • 将 OnInitDialog 代码移动到 OnInitialUpdate 中,但要注意在 SDI 应用程序中 OnInitialUpdate 可能会被多次调用。
  • OnOK 和 OnCancel 必须通过文档中的一些调用和函数来解决。
于 2013-11-18T12:11:32.070 回答