hur.cn - 华软网

 热门搜索

如何实现把一个对话框从串口获得的数据在另外一个对话框的编辑框显示??

  作者:未知    来源:网络    更新时间:2011/10/9
各位大牛们:
     现在我创建的基于对话框的MFC工程,创建一个Tab控件,在Tab控件下有两个标签控件,这两个标签都是由对话框创建的,其中一个对话框用于显示串口发送过来的数据,另外一个对话框是关于串口的一些基本操作,包括串口的打开,串口数据的接收和发送,现在通过断点调试可以接收到串口发送过来的数据,现在对这些数据进行处理,让其显示在第一个对话框的编辑框中,数据的提取已经完成,如何让其显示在第一个对话框中的编辑框中呢??
---华软 网友回答---
发消息
---华软网友回复---
成员变量或全局变量,不能实现?
---华软网友回复---
获取对话框句柄 通过SendMessage把数据发过去,再处理
---华软网友回复---
引用 2 楼 lgstudyvc 的回复:
成员变量或全局变量,不能实现?


我设置了全局变量了,因为不同的对话框对应不同的类,在一个类中这个全局变量经过处理了,他里面的值发生了变化。在另外的类中再次声明该变量时用的extern,但是该变量不是我想要的值,而是空值。
---华软网友回复---
引用 3 楼 hezhe1008 的回复:
获取对话框句柄 通过SendMessage把数据发过去,再处理

不明白您的意思····
---华软网友回复---
可以定义一个结构体,显示对话框到通行对话框中取这个结构体就可以了(拷贝一份),然后处理就可以了
这里最好定义一个互斥变量来锁定该结构体
---华软网友回复---
在主对话框里申请块内存 存数据 
在其他两个对话框中通过
CXXDialog* pDlg = (CXXDialog*)AfxGetMainWnd();获取主对话框句柄
pDlg->m_dData;
---华软网友回复---
引用 1 楼 kiven2010 的回复:
发消息

该怎么发消息呢?

---华软网友回复---
引用 7 楼 hezhe1008 的回复:
在主对话框里申请块内存 存数据 
在其他两个对话框中通过
CXXDialog* pDlg = (CXXDialog*)AfxGetMainWnd();获取主对话框句柄
pDlg->m_dData;

你这里获得的只是出事定义的m_dData数据,在另外一个类中,m_dData的内容发生了改变,是我串口发送过来的数据了,而pDlg->m_dData获取的只是初始值,我初始化为空,在另外一个类,它就是空啊。。
---华软网友回复---
引用 6 楼 jiuzhoulh 的回复:
可以定义一个结构体,显示对话框到通行对话框中取这个结构体就可以了(拷贝一份),然后处理就可以了
这里最好定义一个互斥变量来锁定该结构体


您说的有点深奥啊··我不明白,我是新手!有简单一点的方法吗??
---华软网友回复---
例如 CA 为数据显示窗口
     CB 为操作界面
在CA窗口中添加 EDIT控件,为控件添加成员变量m_data(在view->classwizard->membervariable)
把CB中获取的数据显示在CA的edit窗口中,如CString str中的数据
只要在CB中 
       CA A;
      A.m_data += str;
      UpdateData(FALSE);
就可以了
---华软网友回复---
引用 3 楼 hezhe1008 的回复:
获取对话框句柄 通过SendMessage把数据发过去,再处理

能举个例子吗??
sendmessage怎么发送数据??假定数据是123,怎么发过去??      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。