在 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 项目的新窗口中进行额外初始化的主要内容,如果未能解决你的问题,请参考以下文章