MFC,两对话框之间的数据传递?

popofay 2012-02-10 03:40:10
两个对话框A和B,想实现的功能:单击A的一个按钮控件,弹出B对话框,在B的一个编辑框中输入一个数字,将这个数字转成double类型,传给A.cpp中的一个函数使用~

现在弹出对话框B没问题,对于数据传递,我的想法是,定义一个全局变量message,在B的编辑框处理函数里是这样写的:
void CSDisDlg::OnEnChangeEdit1()
{
CString message;
GetDlgItem(IDC_EDIT2)->GetWindowText(message);
message1=_ttol(message);

}

在A.cpp的函数里直接使用了message1,编译没问题,但是在B中输入内容以后直接提示发生访问冲突!

菜鸟跪求高手指点~!
...全文
113 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
popofay 2012-02-13
  • 打赏
  • 举报
回复
谢谢大家~问题解决!感谢purple2727~
mrliu8023 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 popofay 的回复:]
两个对话框A和B,想实现的功能:单击A的一个按钮控件,弹出B对话框,在B的一个编辑框中输入一个数字,将这个数字转成double类型,传给A.cpp中的一个函数使用~

现在弹出对话框B没问题,对于数据传递,我的想法是,定义一个全局变量message,在B的编辑框处理函数里是这样写的:
void CSDisDlg::OnEnChangeEdit1()
{
CString message……
[/Quote]
不用CString 直接用DDX把一个double绑定EDIT1
if(IDOK==B.DoMoDal())
{
A.double变量=B.double变量;
}
梧桐126 2012-02-10
  • 打赏
  • 举报
回复
也可以用全局变量
A:
double message;
B:
extern double message;
taoyh2002 2012-02-10
  • 打赏
  • 举报
回复
单步调试
罗平 2012-02-10
  • 打赏
  • 举报
回复
如果B是模态对话框,则B关闭后,A才能获得执行。

否则得用消息传递的方式。B发送消息给A ,并带上参数,A触发该消息并执行。
oyljerry 2012-02-10
  • 打赏
  • 举报
回复
message1在A处理的时候,是否还有有效,B是否改成功
king1076 2012-02-10
  • 打赏
  • 举报
回复
A对话框 中打开B
if(IDOK==B.DoMoDal())
{
A.数据=B.数据;
}
popofay 2012-02-10
  • 打赏
  • 举报
回复
错了,message1是全局变量。现在不提示访问冲突了,但是好像结果没跟着输入的变化而改变...求助...

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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