如何将我的程序插入MFC对话框?

时间:2013-08-19 10:28:12

标签: c++ mfc

我是MFC编程的新成员。我已经写了一个程序,我想在图形界面中显示程序。所以我使用MFC对话框来实现它,但它在运行时不起作用。

点击OK按钮后:

void CTest1Dlg::OnBnClickedOk()
{
  UpdateData();
  FILE *stream; 
  freopen_s( &stream, "out_file.ps", "w", stdout ); // reopen stream as .ps
  if (mode == 1)                                    //main() in my code 
  {
    ActiveAuthoring();
  }
  else if (mode == 0)
  {
    XYAuthoring();
  }
  else 
  {
    ActiveAuthoring();
  }
  cout<<"showpage"<<endl;
  UpdateData(FALSE);
  OnOK();
}

我的代码位于converter.cpp,因此我首先将converter.cpp更改为converter.h并将其包含在Test1Dlg.cpp中。然后,当OK按钮点击我的代码中的main()时。

但是,我发现参数似乎没有从图形界面传输到我的代码,尽管我将编辑控制框与每个参数相关联。因此对话框不起作用。有人可以帮助我吗?

修改

this

八个编辑控制框是我在coverter.cpp中使用的参数。

我的代码旨在使用八个参数生成一些字符串,这些字符串保存在名为out_file的文件中,格式为.ps

1 个答案:

答案 0 :(得分:0)

从对话框控件获取数据到“代码”有两种基本方法...如果您使用Visual Studio对话框编辑器并在其中添加控件,它将在virtual void DoDataExchange(CDataExchange* pDX)内生成代码当对话框初始化并终止时,您可以在控件之间移动数据。您将添加一个类似DDX_Text(pDX, IDC_DIGITS, m_Digits);的行,IDE会添加该行以进行交换。您也可以根据需要直接设置和获取数据,例如GetDlgItem( IDC_DIGITS )->GetWindowText( m_Digits );