Загрузка BMP с ресурса - PullRequest
       29

Загрузка BMP с ресурса

0 голосов
/ 16 января 2019

Я пытаюсь загрузить растровое изображение из ресурса вместо местоположения файла. Я использую Visual Stuidos, и я импортировал тот же растровое изображение в RC. LoadImage возвращает NULL, когда я пытаюсь использовать версию ресурса. Мой синтаксис неправильный? или я пропускаю дополнительные шаги? Пожалуйста, укажите мне правильное направление, которое я пытаюсь выучить. Заранее спасибо.

HBITMAP mhbitmap;

// Loading from a file works
mhbitmap = (HBITMAP)LoadImage(NULL, L"sblue.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
mpiccontrol.SetBitmap(mhbitmap);
if (mhbitmap == NULL) {
    MessageBox(L"null", L"from file", NULL);
}

Загрузка из версии файла показывает изображение, но версия ресурса не показывает изображение.

mpiccontrol.SetBitmap(mhbitmap);

// My attempt at loading from resource
mhbitmap = (HBITMAP)LoadImage(NULL, MAKEINTRESOURCE("IDB_BITMAP1"), IMAGE_BITMAP, 0, 0, 0);
if (mhbitmap == NULL) {
    MessageBox(L"null", L"from rc", NULL);
}

mpiccontrol.SetBitmap(mhbitmap);

1 Ответ

0 голосов
/ 16 января 2019
Макрос

MAKEINTRESOURCE принимает целочисленный идентификатор ресурса, поэтому он должен быть MAKEINTRESOURCE(IDB_BITMAP1), где IDB_BITMAP1 - макрос идентификатора ресурса (возможно, из resource.h). Вам также следует позвонить GetLastError, чтобы выяснить причину сбоя.

...