windows窗口如何更改背景图片

我写了一个窗口,希望鼠标左键点击的时候能切换背景图片(初始状态下是有一个背景图片的)。
case WM_PAINT: {
static DWORD i = 0;
if (i == 0) {
SetBk(hwnd, GetModuleHandle(NULL), IDB_BITMAP6);
i++;
}
if ((DWORD)wParam == 1) {
SetBk(hwnd, GetModuleHandle(NULL), IDB_BITMAP7);
}
else if((DWORD)wParam == 2) {
SetBk(hwnd, GetModuleHandle(NULL), IDB_BITMAP6);
}
break;
}
代码是这样的,SetBk是我自己的函数,就是设置背景图片。static int i的意义就是让这个图片只装载一次,在后续的WM_PAINT消息中不造成影响,也就是说这个图片在刷新一次后会消失,以便于我重新装载一张图片。我在另外的窗口试图用PostMessage来发送消息给这个窗口,在这之前,我会先试用InvalidateRect函数来让当前图片失效,为的就是装载新的图片。可是我发现这根本不起作用,GetLastError也没有反馈给我有任何的错误,这令我百思不得其解,还是希望懂这方面的高手帮帮我,感谢。

case WM_ERASEBKGND:
    return 1;

用LoadBitmap的方法不能重新装载新的图片(不知道为什么)。目前只知道改用LoadImage是可以解决这个问题的