пример как вариант
Код | LRESULT WINAPI wndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { static HBITMAP hBmp;
switch (uMsg) { case WM_ERASEBKGND: { RECT rRect; GetClientRect(hWnd, &rRect); HDC hDC = (HDC)wParam;
char n[32]; GetWindowText(hWnd, n, 32);
SetBkMode(hDC, TRANSPARENT); HDC bmpDC = CreateCompatibleDC(hDC); SetTextColor(hDC, RGB(255, 255, 255));
SelectObject(bmpDC, hBmp); StretchBlt(hDC, 0, 0, rRect.right, rRect.bottom, bmpDC, 0, 0, 200 /*размеры картинки*/, 400 /*размеры картинки*/, SRCCOPY);
HFONT hF = (HFONT)SelectObject(hDC, hFont); TextOut(hDC, 5, 5, n, lstrlen(n)); SelectObject(hDC, hF); DeleteObject(bmpDC); ReleaseDC(hWnd, hDC); break; } case WM_CREATE: { HRGN hRgn = CreateRoundRectRgn(0, 0, dwW, r.bottom + 35, 10, 10); SetWindowRgn(hWnd, hRgn, TRUE); DeleteObject(hRgn);
hBmp = (HBITMAP)LoadImage(NULL, "d:\\background.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); } case WM_DESTROY: { DeleteObject(hBmp); PostQuitMessage(0); break; } default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; }
|
удалил все лишнее, так что возможно надо будет где то под шаманить. |