Не получается вывести картинку в GDI
Подскажите, пожалуйста, почему не работает функция picShow.
#include <Windows.h>
#include <iostream>
void picShow(HDC hdc) {
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP memBM = (HBITMAP)LoadImage(NULL, L"C:\\pic.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
SelectObject(memDC, memBM);
BitBlt(hdc, 0, 0, 800, 600, memDC, 0, 0, SRCCOPY);
DeleteDC(memDC);
DeleteObject(memBM);
}
LRESULT CALLBACK windowProcedure(HWND hwnd, UINT message, WPARAM wparam , LPARAM lparam) {
if (message == WM_DESTROY) {
exit(1);
}
else {
return DefWindowProc(hwnd, message, wparam, lparam);
}
}
int main() {
WNDCLASSW window_class;
memset(&window_class, 0, sizeof(window_class));
window_class.lpszClassName = L"window";
window_class.lpfnWndProc = windowProcedure;
RegisterClass(&window_class);
HWND window_hwnd = CreateWindow(L"window", L"PicShow", WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, NULL, NULL);
HDC window_hdc = GetDC(window_hwnd);
ShowWindow(window_hwnd, SW_SHOWNORMAL);
MSG msg;
while (true) {
if (PeekMessageA(&msg, 0, NULL, NULL, PM_REMOVE)) {
DispatchMessage(&msg);
}
picShow(window_hdc);
}
return 0;
}