0
点赞
收藏
分享

微信扫一扫

Graphics g(hMemDC);

伢赞 2023-06-16 阅读 50


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:



举报

相关推荐

0 条评论