IT

CListCtrl 에서 깜빡임 없애기

하트바다 2011. 8. 10. 22:43
MFC의 CListCtrl 을 가끔 사용하다 보면 전체 데이터를 업데이트 할 때 깜빡임 현상이 꼭 발생하곤 한다.
이를 위해 많은 방법을 동원한다.
일반적인 SetItem 을 하기 전에 Item 을 확인하고 같으면 그냥 넘기는 등의 나름 꼼수를 동원했었다.
이번에도 또 그런현상이 발생하길래...
한번 뒤져 보았다.

이런....

구글링보다 더 멋진 MSDN에서 나왔다.
comctl32.dll 의 Version 6.00 이상 부터 지원하는 기능이다.

LVS_EX_DOUBLEBUFFER
Version 6.00. Paints via double-buffering, which reduces flicker. This extended style also enables alpha-blended marquee selection on systems where it is supported.


라는 옵션이 생겼다.

그래서 간편하게...

m_lvAttInfo.SetExtendedStyle(LVS_EX_GRIDLINES); 



m_lvAttInfo.SetExtendedStyle(LVS_EX_DOUBLEBUFFER | LVS_EX_GRIDLINES);  

만 해주면 결론적으로는 깜빡임이 거의 없어진다.
역시 결론은 MSDN 검색의 일상화!!!!