hello Jack
during WM_CREATE, you create a compatible DC with 0 as the parm
it must have an hDC
(the reason BitBlt is failing is the source hDC is 0 because it returns an error)
then, you must select the loaded bitmap handle into the compatible DC
if you want, you can use the desktop hDC as a reference
invoke GetDC,HWND_DESKTOP
mov hdcDesktop,eax
invoke CreateCompatibleDC,eax
mov hdcMem,eax
invoke ReleaseDC,HWND_DESKTOP,hdcDesktop
now, you can select the bitmap handle into hdcMem
invoke SelectObject,hdcMem,hBitmap
mov hbmpMem,eax ;save the original and restore it before deleting the DC
you may not need to use the desktop DC - you might be able to use the printer DC
i have never tried that :P