读书人

类之间 传值有关问题

发布时间: 2012-01-15 22:57:48 作者: rapoo

类之间 传值问题
对话框 A和B 想A中的值“HELLO”传给B

在B中定义了成员函数
B::set(CString str)
{
m_txt=str;//m_txt是EDIT控件
UpdateData(true);
}


在主对话框A用以下代码调用
{
CString str= "hello ";
B dlg;
dlg.set(str);
dlg.DoModal();
}

结果出现错误 为什么呢?



[解决办法]
不能在domodal之前调用set的,因为set用了updatedata函数,而那时控件什么的都还没建好,调用就会出错了.set给一个成员变量赋值吧,对话框显示时再用那个成员变量的值
[解决办法]
B::set(CString str)
{
m_strTxt=str;//m_strTxt是EDIT控件邦定的CString变量

}


BOOL B::OnInitDialog()
{
...
UpdateData(FALSE);
...
}

读书人网 >VC/MFC

热点推荐