c ++, bitmap no se mostrará?

El bitmap no se mostrará cuando se haga clic con el botón izquierdo del ratón. Estoy usando Visual C ++ Express

HDC DC, memDC; switch(message) { case WM_CREATE: hBit1 = LoadBitmap(hInst, "C:\New folder (2)\MyBP1.bmp"); break; case WM_LBUTTONDOWN: DC = GetDC(hwnd); memDC = CreateCompatibleDC(DC); SelectObject (memDC, hBit1); BitBlt(DC, LOWORD(lParam), HIWORD(lParam), 27, 59, memDC, 0, 0, SRCCOPY); ReleaseDC(hwnd, DC); DeleteDC(memDC); break; 

No estoy seguro de qué es exactamente lo que está mal con el código. No se muestran errores en Visual C ++ Express. Si el código es incorrecto, alguien me indicará la dirección correcta.

LoadBitmap es solo para cargar mapas de bits que se almacenan como recursos en su ejecutable o una DLL.

Para cargar un bitmap desde un archivo BMP, desea utilizar LoadImage con el indicador LR_LOADFROMFILE , algo como esto:

 bmp = (HBITMAP)LoadImage(0, filename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 

Como WM_LBUTTONDOWN al margen, es probable que no desee realizar la visualización directamente en respuesta a WM_LBUTTONDOWN . En su lugar, normalmente desea registrar la posición, posiblemente establezca una marca para indicar que se debe mostrar el bitmap y llame a InvalidateRect para invalidar el rectángulo del cliente; luego, haga el dibujo real en respuesta a WM_PAINT .