控件闪烁问题
我在MFC对话框程序中用IPictur在窗体上画了一张图片,
同时,在窗体上有一个CListCtrl控件,可是这个控件有闪烁问题,
大家能帮我解决这个问题么?
[解决办法]
::ExcludeClipRect
用这个函数将你的控件区域排除
[解决办法]
调用绘图在OnTimer事件中肯定不行的,一般在 OnPaint 事件中调用重画功能。
消除闪烁可以在内存中画好以后在复制到显示设备环境中,网上有一个 CMemDC的类的,google 一下
[解决办法]
不要在OnTimer里画图,
你可以这么做,也可以达到定时画图的效果
定义个全局变量
BOOL bFlag=FALSE;
OnTimer()
{
bFlag=TRUE;
}
OnPaint()
{
if(bFlag)
{
...//这里画图
bFlag=FALSE;
}
}
[解决办法]
会不会是因为:(个人猜测)
OnTimer中画图片->
ListCtr控件 Paint ->
图片中ListCtr控件位置 Invalid->
IPicutre 进行Draw->
ListCtr控件 Paint ->
图片中ListCtr控件位置Invalid -> ....
? 不过这样好像没底了