从主父对话框(MFC)菜单弹出对话框?
@oaimac,从主父对话框(MFC)菜单弹出对话框?
我无法从对话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类constructor.below初始化为1024在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,m_SampleNumber在CCStatsDlg没有得到这始终是1024在构造函数初始化
所以请帮我解决这个问题。谢谢
做你想做什么:
X的功能,您设置的OnClick事件关联菜单项(使用其属性窗口的选项卡) - >这将自动生成MainFrm.h和.cpp文件中的函数。
x实例化一个成员结构或您希望从h获得的变量ardware您CCStatsDlg类.H里面和.cpp
X填写您CCStatsDlg类的OnOK()函数中的变量
X添加CCStatsDlg的.h和.cpp文件中的一个或多个功能,如:
int GetValue1()
X呼叫您的对话框:
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()
}
希望这将有助于
非常感谢您的回复。 – Vaish 2011-03-30 02:05:34
在读取变量时出现一些问题CSettings dlg;如果(dlg.DoModal()== IDOK) {int m_SampleNumber = dlg.getvalue();} 这是我在CCStatsDlg类中做的,因为我需要在此处理CSettings对话框值。 m_SampleNumber在CCStatsDlg类构造函数中初始化为1024.下面是CSettings类中的getvalue()int CSettings :: getvalue() {return SampleNumber;}即使我以SampleNumber的形式返回2048,CCStatsDlg中的m_SampleNumber也不会获取, 1024在构造函数0123a中被初始化 – Vaish 2011-03-30 02:25:50
@Vaish我不明白你的问题。你可以用你的新代码编辑你的第一篇文章。 – oaimac 2011-03-31 09:29:49
如果您的变量“m_SampleNumber”在其他地方定义,只是删除了“INT米里面的“INT”字符串_SampleNumber = ...“声明,否则你的变量只会在你的if语句中有效。 – oaimac 2011-04-11 10:52:05