在 MFC/OpenCV 项目的新窗口中进行额外初始化

Posted

技术标签:

【中文标题】在 MFC/OpenCV 项目的新窗口中进行额外初始化【英文标题】:extra initialization in new window of a MFC/OpenCV project 【发布时间】:2013-08-01 19:08:35 【问题描述】:

我有一个使用 OpenCV 和 MFC 作为 GUI 的计算机视觉项目。 我想做以下事情:当我单击 Button1 时,我会得到一个显示视频的新窗口,然后通过单击该新窗口的按钮来捕获图像。

首先,我有一个只有显示视频的窗口的 MFC 项目,它运行良好。然后我创建了一个新项目,在单击按钮后我制作了该窗口。这是我用来调用该窗口的代码。

  void ClassTestDlg::OnBnClickedButton1()

    CDialog ClassTestDlg(IDD_DIALOG_WindowDisplay);
    ClassTestDlg.DoModal();

点击 button1 后,我可以看到新窗口,但视频不显示。 新对话框的类不包含“OnInitDialog()”方法,我不知道如何在这个新类中编写额外的初始化。

我是 MFC 的新手,请帮忙。 谢谢

【问题讨论】:

【参考方案1】:

您不能实例化 CDialog,只能实例化从 CDialog 派生的类。

您的按钮处理程序在 ClassTestDlg 类中,那么您为什么要尝试创建另一个 ClassTestDlg?你需要这样的东西:

void ClassFirstDlg::OnBnClickedButton1()

 ClassSecondDlg dlg2;
 dlg2.DoModal();

【讨论】:

以上是关于在 MFC/OpenCV 项目的新窗口中进行额外初始化的主要内容,如果未能解决你的问题,请参考以下文章

第一章 Android初体验

软件工程结对项目总结

软件工程--个人总结

gitHub初使用

使用 Core Data 进行存储 - 在基于导航和基于窗口的应用程序中 - iPhone

从结对编程初项目窥团队合作编程