估计你是用Invalidate()对整个窗体进行了定时刷新,如果你只是想刷新list control控件的话,只需要为该控件绑定一个CListBox 型变量,如m_3,那么可以在定时刷新中将Invalidate()改为m_3Invalidate();就可以实现仅刷新list control控件。实现list control无闪烁
若满意请及时采纳,谢谢
在MFC中经常遇到屏幕刷新的问题,下面是几种解决方法。
1,刷新整个程序区域,有明显的闪烁情况
Invalidate( TRUE );
UpdateWindow();
2,刷新指定区域,该区域有闪烁情况,不过比上一种方法要好多了。
InvalidateRect( &m_rect, TRUE 0);
UpdateWindow();
3,还有一种方法
InvalidateRect( &m_rect, TRUE 0);
RedrawWindow( &m_rect, NULL, RDW_INTERNALPAINT |
RDW_INVALIDATE | RDW_UPDATENOW
| RDW_ERASE );
4, 最好的一种方法是使用 BitBlt 函数来拷贝需要刷新的区域。
5,最后,当然也可以直接使用 OnPaint() 放置在要刷新的位置。
以上就是关于基于对话框的MFC程序,在编辑好界面后,直接运行,list control一直在闪烁全部的内容,包括:基于对话框的MFC程序,在编辑好界面后,直接运行,list control一直在闪烁、mfc中如何解决屏幕闪烁、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)