ULONG_PTR m_gdiplusToken;
Image *pImage;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
delete pImage;
GdiplusShutdown(m_gdiplusToken);
PostQuitMessage(0);
break;
case WM_CREATE:
{
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
pImage = new Image(L"d:\\My Documents\\My Pictures\\oldWoman.JPG");
break;
}
case WM_ERASEBKGND:
{
HDC hdc = (HDC)wParam;
RECT rc;
GetClientRect(hWnd, &rc);
HDC hMemDC = CreateCompatibleDC(hdc);
HBITMAP hMemBmp = CreateCompatibleBitmap(hdc, rc.right, rc.bottom);
SelectObject(hMemDC, hMemBmp);
//FillRect(hMemDC, &rc, GetSysColorBrush(COLOR_WINDOW)); // 把透明背景填充为系统窗口颜色
Graphics g(hMemDC);
g.DrawImage(pImage, 0, 0, rc.right, rc.bottom);
BitBlt(hdc, 0, 0, rc.right, rc.bottom, hMemDC, 0, 0, SRCCOPY);
DeleteObject(hMemBmp);
DeleteDC(hMemDC);
}
break;
default:
Graphics g(hMemDC);
最新推荐文章于 2021-05-17 11:20:19 发布