【问题标题】:CDialog to CViewCDialog 到 CView
【发布时间】:2013-12-01 12:16:51
【问题描述】:

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

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

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

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

有没有一种简单的方法可以从基于CDialog 迁移到基于CView,请问我需要查看哪些内容。我对 MFC 不是很熟练,这个问题可能听起来很模糊,但我就是这样。

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

【问题讨论】:

  • 看看CFormView类。

标签: mfc cdialog cview


【解决方案1】:

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

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

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

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

【讨论】:

  • 感谢您的澄清。请您对第二点进行更多说明吗?我不太明白。
  • 使用向导创建一个应用程序和一个 CFromView... 可能这会澄清一些事情。否则请询问具体细节。我不知道要更详细地解释什么。
  • 对。我会试一试。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2012-12-18
相关资源
最近更新 更多