У меня есть окно с использованием Win32, и в обработчике сообщений у меня есть случай для WM_PAINT, так что в окне рисуется растровое изображение. Однако при запуске растровое изображение не нарисовано, есть ли что-то, что мне не хватает? Мне нужно вручную отправить сообщение WM_PAINT?Растровое изображение не окрашивается в Win32 C++
Вот код, у меня есть: http://pastebin.com/bi48LB0U
и это WM_PAINT случай:
case WM_PAINT:
hDC = BeginPaint(hwnd, &ps);
bmp = LoadBitmap(hInst, L"C:\\example.bmp");
memDCExercising = CreateCompatibleDC(hDC);
SelectObject(memDCExercising, bmp);
BitBlt(hDC, 100, 100, 500, 500, memDCExercising, 0, 0, SRCCOPY);
DeleteDC(memDCExercising);
DeleteObject(bmp);
EndPaint(hwnd, &ps);
break;
'assert (bmp! = NULL);' –
Doomed to fail, LoadBitmap() принимает идентификатор ресурса, а не имя пути. Вам нужно LoadImage(). И да, всегда проверяйте возвращаемые значения winapi, assert() как минимум. –
Как я могу сделать идентификатор ресурса из моего имени файла? – Pottsiex5