我需要访问其他程序中的复选框值。复选框在ToolDlg.cpp
中启动DDX_Control(pDX, IDC_CalculateTBA, m_CalculateTBA);
m_CalculateTBA.SetCheck(0);
CalculateAnalyticTBA = false;
void CToolDlg::OnBnClickedCheck3()
{
CalculateAnalyticTBA = m_CalculateTBA.GetCheck();
}
我需要SetCal.cpp程序中的复选框值。这是我在这个程序中尝试的代码:
CToolDlg dialog;
if( dialog.CalculateAnalyticTBA )
{
Do some thing
}
但是对话框.CalculateAnalyticTBA始终是tru,即使我没有勾选复选框。 如果您需要任何其他信息,请告诉我。 Thanx寻求帮助。
答案 0 :(得分:1)
看起来你正在创建一个对话框,而且从不显示它。所以CalculateAnalyticTBA
具有你在CToolDlg
类的构造函数中赋予它的任何值(或者,如果你没有,那么编译器给它的任何值)。
为了设置此值,您必须至少创建对话框,以便数据交换代码(调用DDX_Control
并处理复选框和变量的绑定)有机会跑。
答案 1 :(得分:0)
正确的方法是创建并显示CToolDlg对话框并等待用户选择他的选择,然后只在用户最后点击“确定”按钮时处理选项。
CToolDlg dialog;
// create and display the dialog
if (dialog.DoModal()==IDOK)
{ // user clicked the ok button, now do the work
....
}