关于从一个对话框调用另一个对话框的成员函数,提示出错的问题
在一个基于对话框的应用程序中,建了两个对话框A和B,在对话框A的按钮响应如下:
void CDlgInputWord::OnButton1()
{
CString strTmp;
strTmp="Hello!";
dlgChat1.AddToRichEdit(strTmp);//dlgChat1为另一个对话框的类对象
}
下面是对话框B的一个成员函数
void CDlgChat::AddToRichEdit(CString &str)
{
//AfxMessageBox("d");
CString str1;
str="冲啊!";
this->m_edit1.SetSel(-1, -1);//只要在其它对话框中调用时就会出错,在对话框内部调用则不会,为什么
其中,m_edit1 为一个RichEdit控件的控制变量
为什么会这样
说明一下,代码没全贴上,该定义的变量都定义了。在对话框A上创建一个按钮调用该函数,不会出错,只是从另外一个对话框中通过声明对象的方式来调用,只要用到这个变量就会出错。