sometimes i don't understand these API functions
Code:
.......................
HBITMAP g_hbmBall=NULL;
switch (message) /* handle the messages */
{
case WM_CREATE:
{
g_hbmBall =(HBITMAP) LoadImage(NULL,"C:\\Chrysanthemum.bmp",IMAGE_BITMAP,LR_DEFAULTSIZE,LR_DEFAULTSIZE,LR_LOADFROMFILE);
if(g_hbmBall == NULL)
MessageBox(hwnd, "Could not load the image!", "Error", MB_OK | MB_ICONEXCLAMATION);
}
break;
case WM_PAINT:
{
BITMAP bm;
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP hbmOld =(HBITMAP) SelectObject(hdcMem, g_hbmBall);
GetObject(g_hbmBall, sizeof(bm), &bm);
BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);
EndPaint(hwnd, &ps);
}
break;
.........................
but why, with WM_PAINT message, the BitBlt() isn't showed the image?
the main window is created with WS_EX_CLIENTEDGE and WS_OVERLAPPEDWINDOW styles.
(i can share the rest of code)