AnimateWindow调用背部景图片不显示

AnimateWindow调用后背景图片不显示
想要用AnimateWindow函数动态显示窗口,制造点炫酷的感觉,结果,炫倒是炫了,炫的不完美。背景图没显示啊AnimateWindow调用背部景图片不显示白白的一个窗口。求解啊,各位大神。AnimateWindow调用背部景图片不显示部分代码如下:
void Welcome()
{
WNDCLASS welcome;
HWND hwnd;
MSG msg;

welcome.cbClsExtra=0;
welcome.cbWndExtra=0;
welcome.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
welcome.hCursor=LoadCursor(bground,MAKEINTRESOURCE(IDC_CURSOR1));
welcome.hIcon=LoadIcon(NULL,IDI_APPLICATION);
welcome.hInstance=program;
welcome.lpfnWndProc=WelcomeProc;
welcome.lpszClassName=L"Welcome";
welcome.lpszMenuName=0;
welcome.style=CS_HREDRAW|CS_VREDRAW;

RegisterClass(&welcome);
hwnd=CreateWindow(L"Welcome",L"Welcome",WS_POPUP,0,0,320,480,NULL,NULL,program,NULL);
AnimateWindow(hwnd,2000,AW_CENTER);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,NULL,NULL))
{
if(welcome_flag==0)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WelcomeProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
HDC hdc_paint;
HBITMAP bitmap;
PAINTSTRUCT ps;

switch(msg)
{
case WM_PAINT:
BeginPaint(hwnd,&ps);
hdc=GetDC(hwnd);
hdc_paint=CreateCompatibleDC(hdc);
bitmap=LoadBitmap(bground,MAKEINTRESOURCE(IDB_BITMAP4));
SelectObject(hdc_paint,bitmap);
BitBlt(hdc,0,0,320,480,hdc_paint,0,0,SRCCOPY);
DeleteDC(hdc_paint);
DeleteDC(hdc);
EndPaint(hwnd,&ps);
return 0;
case WM_RBUTTONDOWN:
DestroyWindow(hwnd);
welcome_flag=0;
return 0;
}
return DefWindowProc(hwnd,msg,wParam,lParam);
}

------解决方案--------------------
 DeleteDC(hdc); 
getdc 不用deletedc删除!
------解决方案--------------------
法1:
在AnimateWindow后面增加InvalidateRect
    AnimateWindow(hwnd,2000,AW_CENTER);
    UpdateWindow(hwnd); // 这个不起作用啊
    InvalidateRect(hWnd, NULL, FALSE);


法2:增加消息WM_PRINTCLIENT处理
case WM_PRINTCLIENT:
        hdc=(HDC)wParam;
        hdc_paint=CreateCompatibleDC(hdc);
        bitmap=LoadBitmap(bground,MAKEINTRESOURCE(IDB_BITMAP4));
        HBITMAP bm=(HBITMAP)SelectObject(hdc_paint,bitmap);
BitBlt(hdc,0,0,320,480,hdc_paint,0,0,SRCCOPY);
SelectObject(hdc_paint,bm); //
DeleteObject(bitmap); // 漏了这个释放
        DeleteDC(hdc_paint);
        return 0;

------解决方案--------------------
引用:
法1:
在AnimateWindow后面增加InvalidateRect
    AnimateWindow(hwnd,2000,AW_CENTER);
    UpdateWindow(hwnd); // 这个不起作用啊
    InvalidateRect(hWnd, NULL, FALSE);


法2:增加消息WM_PRINTCLIENT处理
case WM_PRINTCLIENT:
        hdc=(HDC)wParam;
        hdc_paint=CreateCompatibleDC(hdc);
        bitmap=LoadBitmap(bground,MAKEINTRESOURCE(IDB_BITMAP4));