Load a CBitmap dynamically

You can also try something like this:

CImage image;
image.Load(_T("C:\\image.png"));
CBitmap bitmap;
bitmap.Attach(image.Detach());

According to CBitmap documentation: LoadBitmap() function takes resource identifier of the bitmap or resource id of the bitmap.

You can't specify the path of the bitmap file.

E.g.

MyProject.rc
------------
MYBMP      BITMAP  "res\myimage.bmp"

and make sure that resource.h does not have any entry of MYBMP otherwise during preprocessing its replaced by id and ultimately LoadBitmap() will fail since application can't locate the resource as FindResource() fails.

Now do this :

CBitmap bmp;
bmp.LoadBitmap(L"MYBMP");

It will definitely load the bitmap.

Tags:

Visual C++

Mfc