MFC checkbox选中事件 问题

I_will_back 2013-05-16 10:47:58
有个checkbox控件,
对它进行了点击事件处理
void CTestDlg::OnBnClickedCheck1()
{
// TODO: 在此添加控件通知处理程序代码
Cdisplay dlg;
dlg.DoModal();

Addr = dlg.m_addr;
}


Cdisplay是我新建的另一个对话框类,上面有一个编辑框控件,目的是把编辑框的内容赋值CTestDlg类的成员变量Addr,但是不知道为什么,调试过来,dlg的地址一直为零,Addr赋值也不成功,求达人。
...全文
1760 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
I_will_back 2013-05-16
  • 打赏
  • 举报
回复
引用 3 楼 adlay 的回复:
函数前面加一个是否选中的判断, 没有选中直接 return 就行了
THX,我还以为这样不行呢,谢谢。
慧眼识狗熊 2013-05-16
  • 打赏
  • 举报
回复
你在函数开始时加个判断. 伪代码 if(!chk.ischick) return;
www_adintr_com 2013-05-16
  • 打赏
  • 举报
回复
函数前面加一个是否选中的判断, 没有选中直接 return 就行了
I_will_back 2013-05-16
  • 打赏
  • 举报
回复
引用 1 楼 starytx 的回复:
因为你的对话框是模态对话框,DoModal函数返回以后就被自动销毁了,所以此时取其中的东西都是错误的。 1 改为非模态对话框形式,在dlg未销毁前取其中控件的值,非模态需要自己处理资源销毁。 2 可以在dlg中(关闭对话框前)通过SendMessage发送自定义消息给CTestDlg,在消息处理中取得消息参数,给Addr赋值。
模态的没问题,已经搞定了,是我代码有问题。 对了,请问一下,我这个事件是点击就会触发弹出对话框事件,也就是checkbox选中或取消选中都会弹出,有只选中时触发事件的吗?
starytx 2013-05-16
  • 打赏
  • 举报
回复
因为你的对话框是模态对话框,DoModal函数返回以后就被自动销毁了,所以此时取其中的东西都是错误的。 1 改为非模态对话框形式,在dlg未销毁前取其中控件的值,非模态需要自己处理资源销毁。 2 可以在dlg中(关闭对话框前)通过SendMessage发送自定义消息给CTestDlg,在消息处理中取得消息参数,给Addr赋值。

15,982

社区成员

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

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