Чтоб положить рисунок на фон надо переопределить обработку сообщения WM_ERASEBKGND.
На сях это выглядит так:
Код:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
// ... пропущена обработка всякой другой фигни
case WM_ERASEBKGND:
{
RECT clientRect;
hdc = GetDC(hWnd);
GetClientRect(hWnd, &clientRect);
HDC MainFrameDC;
MainFrameDC = CreateCompatibleDC(NULL);
SelectObject(MainFrameDC, MainFrame);
BitBlt(hdc, 0, 0, clientRect.right, clientRect.bottom, MainFrameDC, 0, 0, SRCCOPY);
ReleaseDC(hWnd, hdc);
DeleteDC(MainFrameDC);
return 0;
}
// ... пропущена обработка всякой другой фигни
}
return 0;
}
Что-то в этом духе.