@oaimac,
我无法从对话框CSettings中读取变量 我不确定此代码中有什么问题
void CCStatsDlg::OnClickSettings()
{
CSettings dlg;
if (dlg.DoModal () == IDOK)
//Problem is here I am not getting the expected value
{
int m_SampleNumber = dlg.getvalue ();
}
}
我在CCStatsDlg类中这样做,因为我需要在这里处理CSettings对话框值。 m_SampleNumber在CCStatsDlg类构造函数中初始化为1024.below是CSettings类中的getvalue()
CSettings::CSettings(CWnd* pParent /*=NULL*/)
: CDialog(CSettings::IDD, pParent)
{
SampleNumber =2048;
}
CSettings::~CSettings()
{
}
void CSettings::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_SAMPLE1, SampleNumber);
}
int CSettings::getvalue()
{
return SampleNumber;
}
即使我将2048作为SampleNumber返回,CCStatsDlg中的m_SampleNumber也没有得到,这总是1024在构造函数中初始化
所以请帮我解决这个问题。感谢
答案 0 :(得分:0)
答案 1 :(得分:0)
做你想做的事:
x将函数关联到“设置”菜单项的OnClick事件(例如,使用其属性窗口的选项卡) - >这将自动生成MainFrm.h和.cpp文件中的函数
x实例化一个成员结构,或者你想从CCStatsDlg类.h和.cpp中的硬件获取的变量
x在CCStatsDlg类的OnOK()函数内填充变量
x在CCStatsDlg .h和.cpp文件中添加一个或多个函数,如:
int GetValue1()
用以下方法调用对话框:
CCStatsDlg dlg ();
if dlg.DoModal () == IDOK
{
// Here you can get your variables values once OK is clicked inside your dialog box
int value1 = dlg.GetValue1 ()
}
希望这会有所帮助