子窗口给父窗口传值问题

wyjie_134 2010-02-24 02:51:01
RT

我想在弹出的子窗口中放入一些控件,比如Edit控件,或者ComboBox控件,取得其中的值,然后通过函数传给她的父窗口中的List控件中,但是我发现在执行过程中,值传过去了,但是不能操作,总是报错……
错误如下(不会放图片,我就打字了):
Debug Assertion Failed!
File:winctrl2.cpp
Line:493

For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts.


附上代码:

主窗口


void CMyTextDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CFather father;
father.DoModal();
return;
}


父窗口

//弹出子窗口
void CFather::OnButtonFast()
{
// TODO: Add your control notification handler code here
CFst fst;
if(fst.DoModal()==IDOK)
{
MessageBox("设置成功!");
}
}

//接收传值的函数
void CFather::SetText(CString strText)
{
for(int i=2;i<7;i++)
{
m_listctrl.SetItemText(i,1,strText);
}
}


子窗口


void CFst::OnOK()
{
// TODO: Add extra validation here
CString strText;
CFather father;

m_edtText.GetWindowText(strText);//获取文本框里的值

father.SetText(strText);//传值给父窗口


CDialog::OnOK();
}

...全文
360 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyjie_134 2010-02-24
  • 打赏
  • 举报
回复
问题解决了~~

谢谢大家~~
wyjie_134 2010-02-24
  • 打赏
  • 举报
回复
我试试看,谢谢各位!
Eleven 2010-02-24
  • 打赏
  • 举报
回复
改写子窗口的构造函数,加入父窗口的指针即可
wuhuwy 2010-02-24
  • 打赏
  • 举报
回复
不能传局部变量的,因为它在子窗体销毁时也随之销毁了,所以其值不确定。你应该传个指针或者非局部变量。
wuhuwy 2010-02-24
  • 打赏
  • 举报
回复
不能传局部变量的,因为它在子窗体销毁时也随之销毁了,所以其值不确定。你应该传个指针或者非局部变量。
gmsgms 2010-02-24
  • 打赏
  • 举报
回复
3楼4楼正解。
也可以在父窗口声明CString变量,在子窗口为其赋值。
zhou1xp 2010-02-24
  • 打赏
  • 举报
回复
在子窗口直接获取父窗口句柄,然后直接操作这个句柄
xpljj502 2010-02-24
  • 打赏
  • 举报
回复
CFather * father=(CFather *)GetParent();
father->SetText(strText);//传值给父窗口

The_facE 2010-02-24
  • 打赏
  • 举报
回复
你在子窗口里又建了一个临时对象??开玩笑吗?
WizardK 2010-02-24
  • 打赏
  • 举报
回复
GetParent,子窗体内FAHTER都是个局部变量,你这么传当然不行

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧