I was playing around with LoadBitmap. Originally I got it working. Then the screen it load was "white" meaning the HBITMAP it returned was not NULL, but it was just as if nothing is displayed. I was moving the LoadBitmap back and forth between InitInstance (before and after createWindow routine) and WM_CREATE. Magically when I finally got it working again but only after I replace it get GetModuleHandle(NULL) as the argument instead of hInstance.
Question 1: Why does LoadBitmap needs this argument instead of hInstead? I looked online and it says GetModuleHandle returns a module. Looking at the module, it seems it's some sort of dll.
hbitmapTest= (HBITMAP)LoadBitmap(GetModuleHandle(NULL), _T("MyBitmap"));