visual c++ 中 怎样把子窗口传值到父窗口?
一个很简单的实现:就是子对话向父对话框传递值,然后显示出来。比如,主窗口中CWindowA里面的成员变量m_gongzilevel点击设置,弹出对话框B(B中有很多项,工...
一个很简单的实现:就是子对话向父对话框传递值,然后显示出来。
比如,主窗口中CWindowA 里面的成员变量m_gongzilevel
点击设置,弹出对话框B(B中有很多项,工资啊,级别等)
子窗口有CWindowB 里面有编辑框CComboBox m_level(输入或者选择工资水平)
点击B窗口中的确定后,A窗口中显示B中传回来的数值。
回答者用实例代码,不要说粗略的方法,我刚刚入门,多谢了。 展开
比如,主窗口中CWindowA 里面的成员变量m_gongzilevel
点击设置,弹出对话框B(B中有很多项,工资啊,级别等)
子窗口有CWindowB 里面有编辑框CComboBox m_level(输入或者选择工资水平)
点击B窗口中的确定后,A窗口中显示B中传回来的数值。
回答者用实例代码,不要说粗略的方法,我刚刚入门,多谢了。 展开
2个回答
展开全部
CWindowA::function()
{
CWindowB dlg;
if(dlg.DoModal()==IDOK)
{
this->m_gongzilevel = dlg.m_gongzilevel; //最好给B窗口中的控件弄一些CString的变量,
//这里dlg.m_gongzilevel是一个CString类型的变量
//或者其他variable的变量,而不是control的变量
......
this->UpdateData();
}
}
{
CWindowB dlg;
if(dlg.DoModal()==IDOK)
{
this->m_gongzilevel = dlg.m_gongzilevel; //最好给B窗口中的控件弄一些CString的变量,
//这里dlg.m_gongzilevel是一个CString类型的变量
//或者其他variable的变量,而不是control的变量
......
this->UpdateData();
}
}
更多追问追答
追问
可不可以不采用重载A窗口的办法啊,我刚才试了,我设置一工资以后,我先设置好的选项都没有了,只剩下了工资这个值,我再从别的对话框选择别的选项时,已选好的选项都没有了,有没有办法可以解决啊,感谢大侠
追答
CWindowA::function()
{
CWindowB dlg;
dlg.m_gongzilevel = this->m_gongzilevel;//加上这个看看,不知道你是不是这个意思
......
if(dlg.DoModal()==IDOK)
{
this->m_gongzilevel = dlg.m_gongzilevel;
......
this->UpdateData();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询