EVC CListCtrl 闪烁的问题

wqm_44944 2009-04-13 04:03:28
在定时器里 更新 CListCtrl里面的值,结果闪烁的特别厉害,谁见到过这中问题。如何解决的?请指教。
...全文
158 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
deligent2 2009-07-16
  • 打赏
  • 举报
回复
楼主是怎么解决的。能详细说说吗?我也遇到了与您同样的情况,在EVC4.2和EVC6.0中,在定时器中刷新ListCtrl控件,会出现闪烁,从上到下的闪烁。已经用了双缓冲(用了双缓冲后,闪烁是整个CListCtrl的内容闪烁,不是从上到下的闪烁,主要是因为双缓冲是整幅图片向屏幕输出),SetReDraw方法,仍不能解决问题。
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
解决了谢谢!
happypay 2009-04-13
  • 打赏
  • 举报
回复
那我就真不知道是什么问题了哦
happypay 2009-04-13
  • 打赏
  • 举报
回复
那我就真不知道是什么问题了哦
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
我把设置文本透明功能去掉后,还是没有效果。
happypay 2009-04-13
  • 打赏
  • 举报
回复
我这个好像都没用到双缓存,滚动条用到了
happypay 2009-04-13
  • 打赏
  • 举报
回复
ILD_TRANSPARENT你看有没有这个,draw的过程中如果系统不支持TRANSPARENT就去掉这个参数。
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
双缓冲区代码你是怎么写的?
happypay 2009-04-13
  • 打赏
  • 举报
回复
不过我的drawitem自己写的,遇到了一个小图标闪的问题,我的问题试系统不支持半透明,我设置了半透明造成了,好像就没其他的问题了
happypay 2009-04-13
  • 打赏
  • 举报
回复
我上次的闪就是把这两个都用起来就好了SetRedraw和双缓存OnEraseBkgnd直接返回
happypay 2009-04-13
  • 打赏
  • 举报
回复
在你m_List.SetItemText之前用SetRedraw(FALSE);
所有的设置完后用SetRedraw(TRUE);
91program 2009-04-13
  • 打赏
  • 举报
回复
要重绘控件吧,用系统默认的Draw过程,难解决这个问题的
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
先试的这个!
happypay 2009-04-13
  • 打赏
  • 举报
回复
SetRedraw(FALSE);
SetRedraw(TRUE);
也试了啊?
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
m_List.SetItemText(5,1,L"100000");
m_List.SetItemText(5,4,L"100000");

m_List.SetItemText(4,1,L"1");
m_List.SetItemText(4,4,L"2");

m_List.SetItemText(3,1,L"3");
m_List.SetItemText(3,4,L"4");

m_List.SetItemText(2,1,L"5");
m_List.SetItemText(2,4,L"6");

m_List.SetItemText(1,1,L"7");
m_List.SetItemText(1,4,L"8");
用这些命令刷新的界面。
wqm_44944 2009-04-13
  • 打赏
  • 举报
回复
试了不管用!
happypay 2009-04-13
  • 打赏
  • 举报
回复
你用了双缓存之类的去闪的没有啊?
再就是OnEraseBkgnd函数中不执行系统自带函数
直接返回

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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