【问题标题】:Displaying a form on button click in MFC application在 MFC 应用程序中单击按钮时显示表单
【发布时间】:2014-02-19 20:01:13
【问题描述】:

我有一个 MFC 应用程序。在这个 MFC 中有一个包含一些按钮控件的对话框。有一个名为“播放”的按钮控件,用于在另一个按钮控件上显示 Live Camera Image。我通过右键单击项目添加了一个表单,并在该表单中添加了一个“pictureBox”。

我想要的是,当我点击“播放”按钮控件时,此表单将打开,实时摄像机将显示在“图片框”而不是另一个按钮控件上。

由于我是 MFC 应用程序的新手,我不知道如何通过单击“播放”按钮控件打开。 我已使用此代码打开表单

PvSimpleUISample::display^ obj;
    obj=gcnew PvSimpleUISample::display();

但这显示错误,例如 PvSimpleUISampleDlg.cpp(740):错误 C2653:“PvSimpleUISample”:不是类或命名空间名称

PvSimpleUISampleDlg.cpp(740): error C2065: 'display' : undeclared identifier
PvSimpleUISampleDlg.cpp(740): error C2065: 'obj' : undeclared identifier
PvSimpleUISampleDlg.cpp(741): error C2065: 'obj' : undeclared identifier
PvSimpleUISampleDlg.cpp(741): error C2653: 'PvSimpleUISample' : is not a class or namespace name
PvSimpleUISampleDlg.cpp(741): error C2061: syntax error : identifier 'display'

不知道怎么弄?

谁能帮忙解决这个问题。

任何帮助将不胜感激。

提前致谢

【问题讨论】:

  • 这真的是 MFC 吗? gcnew 是托管代码,它不是 MFC。
  • @Max 这是我的代码 (VC++),这个代码放在 MFC 应用程序中。此外,如果不使用 gcnew,那么将使用什么来制作表单对象并使用该对象显示表单。
  • Visual Studio 支持两种不同形式的 C++,一种是标准的,另一种是托管的 .NET(在我看来根本不应该称为 C++)。您正在使用托管版本中的约定,这些约定与 MFC 所基于的标准不兼容。

标签: visual-studio-2010 forms visual-c++ mfc


【解决方案1】:

您通常做的是创建一个基于 CDialog(或 CDialogEx)的控件以及相关的对话框表单资源,然后打开它:

CMyDialog dlg;
if ( dlg.DoModal() == IDOK )
{
    // User pressed ok
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 2022-01-05
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多