阅读:1422回复:13
界面刷新问题
使用ListCtrl每秒定时对20*10区域做数据处理,界面晃眼,数据从第一行滚动显示到20行,如何避免这种情况?谢谢大家帮忙!
|
|
沙发#
发布于:2005-04-03 14:35
使用ListCtrl每秒定时对20*10区域做数据处理,界面晃眼,数据从第一行滚动显示到20行,如何避免这种情况?谢谢大家帮忙! 20*10是什么?是行列中的具体内容,还是背景图? 还有listctrl使用的是什么style?Icon?List?Small icon?还是Report? 最好把相关代码帖出来 |
|
|
板凳#
发布于:2005-04-03 17:09
CReportCtrl m_invertlist;(ListCtrl的扩展是从网上找的)
void CListtestDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default int i,j; switch(nIDEvent) { case syst://1秒 for(i=0;i<20;i++) { for(j=0;j<10;j++) { m_invertlist.SetItemText(i,j,_T(\"dfg\")); } } break; } CDialog::OnTimer(nIDEvent); } |
|
地板#
发布于:2005-04-04 08:02
我在SetItemText()前后使用了SetRedraw也没有变化,请教该如何解决!!
|
|
地下室#
发布于:2005-04-04 19:57
大家帮帮忙吧,急得要命了!领导追屁股催阿!!!
|
|
5楼#
发布于:2005-04-05 09:07
重载控件类的OnPaint函数
|
|
|
6楼#
发布于:2005-04-05 10:09
请教这位如何做呢?详细一点说明!谢谢!!
|
|
7楼#
发布于:2005-04-05 13:49
invalidate()updatewindow()也用了,都没见效果,该如何是好
|
|
8楼#
发布于:2005-04-05 17:18
帮忙啊!各位!
|
|
9楼#
发布于:2005-04-06 09:01
真的没招了,还是没人愿意回答
|
|
10楼#
发布于:2005-04-06 09:20
从CReportCtrl派生一个子类,自己处理OnPaint,如果有CReportCtrl源码,直接改它
|
|
|
11楼#
发布于:2005-04-06 16:00
谢谢您的回答,现在关键是我想处理OnPaint(),但是我不知道从何处下手,怎么才能让ReportCtrl控件不做清理,只做覆盖工作来解决刷新问题!
|
|
12楼#
发布于:2005-04-10 12:46
谢谢您的回答,现在关键是我想处理OnPaint(),但是我不知道从何处下手,怎么才能让ReportCtrl控件不做清理,只做覆盖工作来解决刷新问题! 在WM_PAINT消息中,你可以通过BeginPaint来得到需要更新的区域 |
|
|
13楼#
发布于:2005-04-10 16:41
整个ListCtrl区域基本上时刻在更新啊,不能明白您的意思!
|
|