不同文件中的复选框值

CheckBox value in different file

本文关键字:复选框 文件      更新时间:2023-10-16

我需要在另一个程序中访问复选框值。复选框在tooldg .cpp

中启动
DDX_Control(pDX, IDC_CalculateTBA, m_CalculateTBA);

在oninitdialog中这样初始化:

    m_CalculateTBA.SetCheck(0);
    CalculateAnalyticTBA = false;

void CToolDlg::OnBnClickedCheck3()
{   
    CalculateAnalyticTBA = m_CalculateTBA.GetCheck();   
}

我需要SetCal.cpp程序中的复选框值。下面是我在这个程序中尝试的代码:

 CToolDlg dialog;
 if( dialog.CalculateAnalyticTBA )
{
  Do some thing
}

但是对话。CalculateAnalyticTBA总是正确的,即使我不选中复选框。如果你还需要其他信息,请告诉我。谢谢你的帮助。

看起来您正在创建一个对话框,但从未显示它。因此,CalculateAnalyticTBA具有在CToolDlg类的构造函数中给定的任何值(或者,如果没有,则使用编译器给定的任何值)。

为了设置此值,您必须至少创建对话框,以便数据交换代码(调用DDX_Control并处理复选框和变量的绑定)有机会运行

正确的方法是创建并显示CToolDlg对话框,等待用户选择他的选项,然后只有在用户最终单击"OK"按钮时才处理选择。

CToolDlg dialog;
// create and display the dialog
if (dialog.DoModal()==IDOK)
{  // user clicked the ok button, now do the work
   ....
}