我是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()
时。
但是,我发现参数似乎没有从图形界面传输到我的代码,尽管我将编辑控制框与每个参数相关联。因此对话框不起作用。有人可以帮助我吗?
修改
八个编辑控制框是我在coverter.cpp
中使用的参数。
我的代码旨在使用八个参数生成一些字符串,这些字符串保存在名为out_file
的文件中,格式为.ps
。
答案 0 :(得分:0)
从对话框控件获取数据到“代码”有两种基本方法...如果您使用Visual Studio对话框编辑器并在其中添加控件,它将在virtual void DoDataExchange(CDataExchange* pDX)
内生成代码当对话框初始化并终止时,您可以在控件之间移动数据。您将添加一个类似DDX_Text(pDX, IDC_DIGITS, m_Digits);
的行,IDE会添加该行以进行交换。您也可以根据需要直接设置和获取数据,例如GetDlgItem( IDC_DIGITS )->GetWindowText( m_Digits );