CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

如何解决 CListCtrl 控件在滚动窗口时的闪烁?

楼主SanTa()2006-06-04 19:28:03 在 VC/MFC / 界面 提问

由于要显示的数据大于20000条,所以使用的是虚拟列表方式。  
  但是在拖拽滚动条时,列表控件内的数据闪烁比较严重,不知道如何解决?  
   
  PS:仔细看了一下资源管理器程序,在滚动窗口时,不存在闪烁,不知道MS是怎么做的? 问题点数:100、回复次数:7Top

1 楼Qiushen(忘魂)回复于 2006-06-04 20:03:40 得分 60

你是不是自己处理滚动?正常来讲应该是不会的,要不然就是你可能在其它地方有加了什么处理,你是不是在滚动的时候就进行刷新,这个应该是不必要的,只有在最后和最前才进行更新数据Top

2 楼striking(庸人自扰)回复于 2006-06-04 20:05:15 得分 0

CPU   够快,   内存够大。  
   
  要不然是会有些闪,   那是因为list要从你指定的数据源取数据。Top

3 楼SanTa()回复于 2006-06-04 20:41:54 得分 0

to:   striking(硬撑者)  
   
  那是因为list要从你指定的数据源取数据。  
  ~~~~~~~~~~~~嗯,这点是当然的  
   
  CPU   够快,   内存够大。要不然是会有些闪  
  ~~~~~~~~~~~  
                          即使是10万条数据在LISTCTRL里也可以实现不闪烁!和机器无关  
   
  举个例子:  
  “资源管理器”程序,你可以选择搜索   C:\*.*   然后拖拽滚动条,它的LISTCTRL控件就不会出现闪烁,在拖动滚动条时会感觉卡,明显是在滚动时做了防闪烁处理。Top

4 楼SanTa()回复于 2006-06-04 20:44:58 得分 0

to:   Qiushen(忘魂)    
  我没有自己处理滚动,只不过数据量比较大而已。  
  LISTCTRL中如果行数比较多,在拖滚动条时都是一闪一闪的。Top

5 楼Qiushen(忘魂)回复于 2006-06-04 20:52:36 得分 0

to:SanTa()    
  我想应该是没有这个问题,我记得以前是加了几万条的记录(加了很久,机子像死掉一样,呵呵),加完后在拉的时候是没什么闪的,你在想一下有没有在什么地方加了刷新的功能,一般是不用加刷新Top

6 楼allenhiman(9Ft)回复于 2006-06-04 21:17:31 得分 30

to搂主:  
  我记得windows好像有个视觉设置,如果设为a?屏幕就不会闪,设定b?就会闪  
  比如用鼠标拖动改变一个窗口大小的时候,有闪和不闪两种效果。我想就是是否及时刷新(重画)界面的缘故,   提个意见可能复杂点。响应list的onscroll事件   通过某种方法确定用户拖动的快慢(记录时间间隔,上次位置?),慢就及时刷新,快就等最后或到达某个时间点的时候刷新,可能这就是你感觉win卡的缘故。。。当然这并不好玩儿!   D:  
  setredraw(false)//禁止刷新  
  setredraw(true)//启用刷新Top

7 楼lixiaosan(小三)回复于 2006-06-05 13:51:13 得分 10

use   virtual   list  
   
  http://msdn2.microsoft.com/en-us/library/ye4z8x58.aspx  
  http://www.codeguru.com/cpp/controls/listview/advanced/article.php/c4151/  
  http://www.codeproject.com/listctrl/virtuallist.aspTop

相关问题

关键词

得分解答快速导航

  • 帖主:SanTa
  • Qiushen
  • allenhiman
  • lixiaosan

相关链接

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

广告也精彩

反馈

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