如何在窗口间传值 建了一个单文档MFC工程在主菜单中添加了一个按钮,弹出一个新的窗口,在窗口的Edit button中输入一些值。这时在关闭窗口时,如何能将输入的值传回给主菜单类,供其他函数使用。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在主菜单类中设一个成员变量,比如为char m_szText[32];假设消息响应为: void CYouMenu::OnMenuItem1(){ CXXDlg dlg; if(dlg.domodal() == IDOK){ m_szText = dlg.GetText();}}在CXXDlg中定义GetText()返回其中其成值 按你说的,我在CMainFrame类中定义了一个CString变量src。在响应函数中添加了以下代码: CDlg Set; if(Set.DoModal() == IDOK) { Set.GetDlgItemText(IDC_EDIT1,src); }但是运行到Set.GetDlgItemText(IDC_EDIT1,src);语句时,挂了。 我觉得应该是在判断Set.DoModal() == IDOK后,窗口已经关闭,Set已经不存在,Set.GetDlgItemText(IDC_EDIT1,src);不能运行了 对!可以在CDlg类中定义一个成员变量,保存IDC_EDIT1的值,Set.DoModal() 后依然可以访问;不过,要在对话框中写代码,先取出这个值,放入成员变量中。 你怎么能加到这里呢,GetDlgItemText(IDC_EDIT1,src)应该在你的那个对话框类之中. 在点击IDOK之后,窗口dlg就关闭了,释放dlg的资源,为什么还能调用dlg.GetText();函数? 添加OK的消息响应:void CTEXTDlg::OnOK() { GetDlgItemText(IDC_EDIT1,src); //需要为这个类添加CString src; CDialog::OnOK();}菜单中添加:void CMainFrame::OnCsdnText() {CTEXTDlg Set; if(Set.DoModal() == IDOK) { src=Set.src; MessageBox(src);} }这样就可以了。 窗口关闭了,但是 Set这个CDlg对象还在. 所以可以访问CDlg的成员.但是CDlg的m_hWnd成员已经无效了 MFC 2011-11-21 用 VS2005 怎么在wince6.0系统上做应用程序,还有界面怎么实现。 C语言中指针的问题 vc 2005 如何访问数据仓库 我想给对话框添加WM_NCHITTEST消息处理函数,可是MFC WIZARD里没有,该怎么添加呢? 我现在已经做到移动鼠标到图片上时textout一行文字,怎么使文字停留时间长一点 请教组态高手 关于ADO对象删除的问题? 谁能解决这个问题?高级vc工作(高手高手高手,,,comeing please) floor()函数 及自动判断并去除小数末尾的0 菜鸟请教:如何有效的控制输入的字符的长度??HELP…… 计算概率椭圆
假设消息响应为:
void CYouMenu::OnMenuItem1()
{
CXXDlg dlg;
if(dlg.domodal() == IDOK)
{
m_szText = dlg.GetText();
}
}在CXXDlg中定义GetText()
返回其中其成值
CDlg Set;
if(Set.DoModal() == IDOK)
{
Set.GetDlgItemText(IDC_EDIT1,src);
}但是运行到Set.GetDlgItemText(IDC_EDIT1,src);语句时,挂了。
不能运行了
可以在CDlg类中定义一个成员变量,保存IDC_EDIT1的值,Set.DoModal() 后依然可以访问;
不过,要在对话框中写代码,先取出这个值,放入成员变量中。
你怎么能加到这里呢,GetDlgItemText(IDC_EDIT1,src)应该在你的那个对话框类之中.
在点击IDOK之后,窗口dlg就关闭了,释放dlg的资源,为什么还能调用dlg.GetText();函数?
void CTEXTDlg::OnOK()
{
GetDlgItemText(IDC_EDIT1,src);
//需要为这个类添加CString src;
CDialog::OnOK();
}
菜单中添加:void CMainFrame::OnCsdnText()
{CTEXTDlg Set;
if(Set.DoModal() == IDOK)
{
src=Set.src;
MessageBox(src);
}
}
这样就可以了。