VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 186|回复: 3

ListCtrl.SetItemText多进程中不能立即显示,需要整个程序运行完毕才显示

[复制链接]
56_avatar_middle
在线会员 valle 发表于 2018-11-15 14:20:12 | 显示全部楼层 |阅读模式
hEvent = CreateEvent( NULL, FALSE, FALSE,  NULL );   //2 bManualReset:TRUE//3 初始化无信号

         SetEvent(hEvent);  //设置为有信号 ,开
         AfxBeginThread(ThreadProc_adbdevices1,this); //ThreadProc_adbdevices1 做了插入文字动作m_ListCtrl.SetItemText(0,2,"listctrl 插入文字");
         Sleep(500);

         SetEvent(hEvent);
         AfxBeginThread(ThreadProc_adbdevices2, this); //ThreadProc_adbdevices1 做了插入文字动作m_ListCtrl.SetItemText(0,1,"listctrl 插入文字");

         Sleep(5000);
         //AfxMessageBox("插入文字1");  //如果调用了模态对话框AfxMessageBox,那么前边两个多进程中的SetItemText就生效
         m_ListCtrl.SetItemText(2,2,"listctrl 插入文字");

         //SetEvent(hEvent);
         //AfxBeginThread(ThreadProc_adbdevices3, this);
         Sleep(500);
         
         SetEvent(hEvent);
         AfxBeginThread(ThreadProc_adbdevices4, this);

        CloseHandle(hEvent);

       //如果没有调用中间的模态对话框AfxMessageBox, 需要等所有多进程运行完毕后, SetItemText 所插入的文字才会一起显示出来.  




上一篇:新人报到

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

56_avatar_middle
ico_lz  楼主| valle 发表于 2018-11-15 15:07:35 | 显示全部楼层
做了进一步研究发现是listctrl问题,但是依然没找到原因.
以下所有代码完成后,listctrl中一下子就显示出来了,  我的目标是依次逐步显示....

m_ListCtrl.SetItemText(0,1,"0000");
sleep(1000);
m_ListCtrl.SetItemText(1,1,"1111");
sleep(1000);
m_ListCtrl.SetItemText(2,1,"2222");
sleep(1000);
m_ListCtrl.SetItemText(3,1,"3333");

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-11-15 15:16:12 | 显示全部楼层
valle 发表于 2018-11-15 15:07
做了进一步研究发现是listctrl问题,但是依然没找到原因.
以下所有代码完成后,listctrl中一下子就显示出来 ...

不要用 sleep 去阻塞,这样的话主UI线程也会跟着一起阻塞,所以会导致界面不更新了,卡住了
楼主可以使用消息发送的方式来达到异步的目的,或者用定时器也可以

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

56_avatar_middle
ico_lz  楼主| valle 发表于 2018-11-15 16:01:36 | 显示全部楼层
syc 老大.多谢,已经解决了!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-14 00:58

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表