Это довольно сложная задача, чтобы опубликовать полный код здесь, но я постараюсь дать несколько рекомендаций о том, как это сделать:
Первый способ - загрузить изображение и нарисовать его
Загрузите ваше изображение (к сожалению, простой Win32 API поддерживает несколько форматов изображений BMP, ICO ...).
HBITMAP hImage = (HBITMAP)LoadImage(NULL, (LPCSTR)file, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_LOADTRANSPARENT);
Храните дескриптор выше где-нибудь в вашем приложении, где вы можете получить к нему доступ из своей WindowProcedure
В WinProc на сообщении WM_PAINT вам нужно будет нарисовать изображение. Код выглядит примерно так:
HDC hdcMem = CreateCompatibleDC(hDC); // hDC is a DC structure supplied by Win32API
SelectObject(hdcMem, hImage);
StretchBlt(
hDC, // destination DC
left, // x upper left
top, // y upper left
width, // destination width
height, // destination height
hdcMem, // you just created this above
0,
0, // x and y upper left
w, // source bitmap width
h, // source bitmap height
SRCCOPY); // raster operation
Должно работать.
Теперь, второй способ сделать это - создать статический элемент управления с типом SS_BITMAP и установить его изображение следующим образом:
hImage = LoadImage(NULL, file, IMAGE_BITMAP, w, h, LR_LOADFROMFILE);
SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImage);
где hwnd - ручка вашего статического элемента управления.