visual c++ 中 怎样把子窗口传值到父窗口?

一个很简单的实现:就是子对话向父对话框传递值,然后显示出来。比如,主窗口中CWindowA里面的成员变量m_gongzilevel点击设置,弹出对话框B(B中有很多项,工... 一个很简单的实现:就是子对话向父对话框传递值,然后显示出来。
比如,主窗口中CWindowA 里面的成员变量m_gongzilevel
点击设置,弹出对话框B(B中有很多项,工资啊,级别等)
子窗口有CWindowB 里面有编辑框CComboBox m_level(输入或者选择工资水平)
点击B窗口中的确定后,A窗口中显示B中传回来的数值。
回答者用实例代码,不要说粗略的方法,我刚刚入门,多谢了。
展开
 我来答
百度网友e096309
2011-10-03 · TA获得超过1327个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:414万
展开全部
CWindowA::function()
{
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();
}
}
zju510
2011-10-03 · TA获得超过670个赞
知道小有建树答主
回答量:246
采纳率:100%
帮助的人:276万
展开全部
在父类中调用弹出窗口的地方加代码;
比如:
CWindowA:: FunctionTest()
{
// 这是父窗口的一个成员函数;
...
CWindowB dlgB;
dlgB.DoModal();
if(IDOK==dlgB.DoModal())
{
m_gongzilevel = dlgB.m_level; //将子窗口的值传回来;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式