CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

多线程环境下CLISTCTRL切换和刷新慢的问题如何解决

楼主danscort2000(danscort.yu)2005-11-25 10:06:54 在 VC/MFC / 界面 提问

环境:WIN2000   SP4  
              VS2003。NET  
  本地运行了自己开发的一个网络服务器软件(没有问题的)  
  然后运行客户端,  
  客户端的主界面重载了ONEARSE(   ),用来设置背景图片,本身是个对话框程序  
  原来使用的是LISTBOX监控窗口,刷新和程序切换,界面都没有问题,  
  改用CLISTCGTRL控件的REPORT模式做监控窗口后,出现问题  
  CLISTCTRL控件的刷新,在一直保持在TOP   WINDOW位置的时候,正常  
  但是如果有其他程序占用TOP   WINDOW位置,然后切换,如果已经连接到服务器(客户端本身也是多线程),那么经常在切换的时候出现CLISTCTRL控件要等一些时间才出现,其他部分却完全正常,  
  或者把鼠标移动到CLISTCTRL上,也能一点但刷新出来,  
  但是如果立即最小化,又最大化,通常能立即恢复  
  在WIN98下调试发现也有这问题,但是以前使用LISTBOX没有任何问题  
   
  界面上的CLISTCTRL采用定时刷新机制,间隔3-5秒  
  同时各线程在收到消息后也会发送立即刷新消息,然后主截面就立即刷新CLISTCTRL控件内容  
  为了防止闪动,在刷新函数中使用了SETREDRAW(   )函数  
  请各位帮忙分析原因,  
  界面这东西我很弱的 问题点数:60、回复次数:7Top

1 楼danscort2000(danscort.yu)回复于 2005-11-25 16:52:34 得分 0

没有人有过类似的问题吗?  
  单线程下完全正常,开启多线程就刷新有问题了  
  可是多线程都是工作线程,没理由啊,难道是消息发的太频繁了导致的?繁忙的时候  
  每0。5秒刷新一次算不算频繁Top

2 楼lixiaosan(小三)回复于 2005-11-25 17:06:21 得分 15

Invalidate()   ???Top

3 楼danscort2000(danscort.yu)回复于 2005-11-25 22:44:38 得分 0

没有使用INVALIDATE(   )  
  INVALIDATE(   )导致整个界面被刷新,  
  我只是对特定控件的内容进行刷新,出了刷新缓慢的问题  
  问题出现在失去焦点后重新获得焦点时Top

4 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-11-26 06:12:08 得分 20

估计是SetRedraw的问题  
  用虚列表+CListCtrl::Update,更新的项目不可见的话没必要SetRedraw这么兴师动众Top

5 楼danscort2000(danscort.yu)回复于 2005-11-27 13:40:13 得分 0

顶顶Top

6 楼xuxiongjun(不做帅哥已有很多年)回复于 2005-12-07 15:36:55 得分 15

学习Top

7 楼Mackz(在相互)回复于 2005-12-08 09:42:02 得分 10

多线程同步要做好。Top

相关问题

  • 多线程中如何刷新视图的问题
  • 有难度,控件刷新问题,涉及多线程,请版主帮忙
  • 多线程啊多线程
  • 请问怎样实现用多线程的方法来刷新Form上的一个Label?
  • 多线程socket!!!
  • 多线程
  • 多线程
  • 多线程
  • 多线程
  • CSocket 多线程

关键词

  • 多线程
  • 控件
  • 界面
  • 客户
  • 消息
  • 刷新
  • clistctrl
  • 切换
  • 问题
  • setredraw

得分解答快速导航

  • 帖主:danscort2000
  • lixiaosan
  • jiangsheng
  • xuxiongjun
  • Mackz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo