MFC/VC++关于VIEW窗口实时监听接收字符后的处理

阿童木1999 2020-09-11 04:13:36
目前有一个项目,在一个VIEW窗口中,有等待、数据处理中、处理结速等几种状态,窗口要实时准备接收网口端传来的数据,在未收到数据前窗口一直是等待状态,一旦收到数据,需要将数据自动输入到一个combo控件中并执行处理,请问各位,要用什么思路来设计比较好?简单点说就是,窗口一起在等待网口数据,收到后自动加到COMBO中,是否要用多线程呢?在哪个位置实时监听比较好?谢谢。
...全文
649 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xf_21 2021-04-09
  • 打赏
  • 举报
回复
不是经常来论坛,刚才看了看,发现很久以前的贴都还悬着,没结贴。这论坛人很少了吗,而且这些人怎么也不结贴?分明已经有答案了啊
顾小白xx 2021-02-22
  • 打赏
  • 举报
回复
OnTimer 放在这里就行,定时器到时间会触发一次你就能更新一次
schlafenhamster 2020-09-12
  • 打赏
  • 举报
回复
我放在onshowwindow里只能触发一次。 当然!
需要的是 OnTimer(UINT_PTR nIDEvent) 响应 !
zgl7903 2020-09-11
  • 打赏
  • 举报
回复


// CSDI1View 消息处理程序

void CSDI1View::OnInitialUpdate()
{
__super::OnInitialUpdate();

// TODO: 在此添加专用代码和/或调用基类
SetTimer(1, 1000, NULL);
}

void CSDI1View::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
TRACE(_T("OnTimer Event\n"));

//这里不要调用CView::OnTimer
//__super::OnTimer(nIDEvent);
}





阿童木1999 2020-09-11
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
如果数据量不大的话,定时器中接收就可以, 当然得非阻塞的异步模式 数据量大的话,就后台线程,线程中接收完投递消息
感谢回复,数据量不大,用timer可以,但这个settimer应该放在什么位置好呢?我放在onshowwindow里只能触发一次。谢谢。
阿童木1999 2020-09-11
  • 打赏
  • 举报
回复
感谢回复,数据量不大,用timer可以,但这个settimer应该放在什么位置好呢?我放在onshowwindow里只能触发一次。谢谢。
zgl7903 2020-09-11
  • 打赏
  • 举报
回复
如果数据量不大的话,定时器中接收就可以, 当然得非阻塞的异步模式 数据量大的话,就后台线程,线程中接收完投递消息

15,471

社区成员

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

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