PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: 在此处添加使用 hdc 的任何绘图代码...
HDC hdcsrc = CreateCompatibleDC(hdc);
HBITMAP hbm = CreateCompatibleBitmap(hdcsrc, WINDOW_X, WINDOW_Y);
SelectObject(hdcsrc, hbm);
do_something();//这里将位图画到hdcsrc上
BitBlt(hdc, 0, 0, WINDOW_X, WINDOW_Y, hdcsrc, 0, 0, SRCCOPY);
DeleteObject(hbm);
DeleteDC(hdcsrc);
EndPaint(hWnd, &ps);
运行结果是纯黑色的,然而绘图部分
dosomething();
直接画到hdc上是正常的没问题的
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: 在此处添加使用 hdc 的任何绘图代码...
do_something();//这里将位图画到hdcsrc上
EndPaint(hWnd, &ps);
这样就没问题,请问这是什么原因造成的。。
一整天也没解决。