0

我是 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.cppconverter.h并将其包含在Test1Dlg.cpp. 然后当OK按钮单击时main()在我的代码中运行。

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

编辑

这个

八个编辑控制框是我在我的coverter.cpp.

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

4

1 回答 1

0

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

于 2013-08-19T12:07:10.207 回答