这是正确的方式,重要的事情说三遍
WM_PAINT:
{
...
hdc = BeginPaint(hWnd, &ps);
//hdc = GetDC(hWnd);
...
}
1.单独使用GetDC时,窗口画面会一直闪烁,CPU占用会一直提高,大概到10%,后面程序直接卡死,出现程序画面卡顿不能操作的情况
2.一起使用GetDC和BeginPaint时,窗口画面 不 会一直闪烁,但是。。。在窗口拖出屏幕外再拉进显示器时,画面会有闪烁现象,明显看到画面进行重绘,效果不理想,有时会出现窗体内控件消失的情况
3.单独使用BeginPaint,三种情况中效果最佳,窗体拖动时没有明显的闪烁
!!!
在此警惕找一天原因的本文作者…