最近在做一个MFC项目时,需要对List Control控件快速刷新(大概50ms刷新一次)。然而,List Control在刷新时总是不停地闪烁,让人心里很不爽。起初以为是代码的问题,改了很多地方,但是都没有解决。就在快要绝望的时候,突然在MSDN上看到了这样的信息:
请注意图中这句话:which reduces flicker,也就是降低闪烁的意思。顿时我的心里又燃起了希望,在List Control的SetExtendedStyle()中添加LVS_EX_DOUBLEBUFFER(也就是使用双缓存),然后问题完美解决。
通过这件事,我明白了,遇到问题百思不得其解时,其实可以从最基本的东西入手。对于许多问题我们往往把它们想得过于复杂,而其实答案就蕴含在最基本的原理之中。
参考资料:https://msdn.microsoft.com/zh-cn/library/bb774732(v=vs.71).aspx