Because Invalidate() only Invalidates the entire client area of CWnd. The client area is ed for painting when the next WM_PAINT message occurs. As a consequence, OnDraw() will be called after your function calling Invalidate() returns. If you'd like to make OnDraw() called at once, you can insert the line below Invalidate():CWnd::UpdateWindow
If you'd like to make OnDraw() called at once, you can insert the line below Invalidate():CWnd::UpdateWindow
所以你要再调用UpdateWindow
msdn上讲得比较清楚
,好象对listctrl是不会的.
不过我还是把分先给大家再说.