Win32中BeginPaint和GetDC的使用

这是正确的方式,重要的事情说三遍

WM_PAINT:
{
...
	hdc = BeginPaint(hWnd, &ps);
	//hdc = GetDC(hWnd);
...
}

1.单独使用GetDC时,窗口画面会一直闪烁,CPU占用会一直提高,大概到10%,后面程序直接卡死,出现程序画面卡顿不能操作的情况
2.一起使用GetDC和BeginPaint时,窗口画面 会一直闪烁,但是。。。在窗口拖出屏幕外再拉进显示器时,画面会有闪烁现象,明显看到画面进行重绘,效果不理想,有时会出现窗体内控件消失的情况
3.单独使用BeginPaint,三种情况中效果最佳,窗体拖动时没有明显的闪烁

!!!
在此警惕找一天原因的本文作者…

你可能感兴趣的:(c++)