GDI采用双缓冲引起的问题。
void OnPaint()
{
CPaintDC dc(this);
DefWindowProc(WM_PAINT, (WPARAM)dc.m_hDC, (LPARAM)0);
}
void OnPaint()
{
CPaintDC dc(this);
MemDC dcMem(&dc, &rect); //创建内存dc
DefWindowProc(WM_PAINT, (WPARAM)dcMem.m_hDC, (LPARAM)0);
//显示
。。。
}
很奇怪的现象,我不实用内存dc直接画时,DefWindowProc处理速度除了第一次慢,后面在滚动的时候处理很快。
而如果引入内存dc,使用双缓冲,DefWindowProc处理速度第一次速度一样慢,但是滚动时一样很慢。
滚动是手势引起ListCtrl上或者下快速滚动。