关于从一个对话框调用另一个对话框的成员函数,提示出错的问题

wmnmtm 2010-10-06 06:01:45
在一个基于对话框的应用程序中,建了两个对话框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上创建一个按钮调用该函数,不会出错,只是从另外一个对话框中通过声明对象的方式来调用,只要用到这个变量就会出错。
...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-11-03
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
wmnmtm 2010-10-06
  • 打赏
  • 举报
回复
应该不是楼主说的句柄的原因吧,我只是在另一个对话框A中定义了一个对话框B的对象m,通过这个对象m来调用B的成员函数,也就是说,全部是一个类的内部调用啊
wmnmtm 2010-10-06
  • 打赏
  • 举报
回复
怎么传句柄,加我QQ说
傻X 2010-10-06
  • 打赏
  • 举报
回复
楼主在对话框B
this->m_edit,这个this是指的B,而B之中没有m_edit因此报错。

楼主把A的句柄传给B,才能这么调用。
wmnmtm 2010-10-06
  • 打赏
  • 举报
回复
补充:我的QQ:1023266328

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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