how to add bitmap image to buttons in MFC?

kiddo picture kiddo · Jan 12, 2010 · Viewed 27.6k times · Source

I am Trying to add an image to an existing button..I have done that to an extent, the problem is I can add an ownerdrawn Image but am not able to add the extact image that I want.. for the example see the below code

CButton* pBtn= (CButton*)GetDlgItem(ID_WIZBACK);

   pBtn->ModifyStyle( 0, BS_ICON );

   HICON hIcn= (HICON)LoadImage(
        AfxGetApp()->m_hInstance,
  MAKEINTRESOURCE(IDI_ICON3),
        IMAGE_ICON,
        0,0, // use actual size
        LR_DEFAULTCOLOR
    );

    pBtn->SetIcon( hIcn );

with the above code am converting the bitmap to an icon to add to my button...how can I add the exact Bitmap image directly to an existing button.Please help me frnds..

Answer

Amruta Ghodke picture Amruta Ghodke · Feb 11, 2015

Steps for assigning bitmap to button in mfc :

  1. Create object of bitmap
  2. Load bitmap by using LoadBitmap()
  3. Get Handle of button using id and GetDlgItem() method
  4. Modify style so that we can assign bitmap to it
  5. use SetBitmap() on button's handle to assign bitmap

Code :

CBitmap bmp;

bmp.LoadBitmap( IDB_BITMAP4 );

CButton* pButton = (CButton* )GetDlgItem(IDC_BUTTON1);

pButton->ModifyStyle(0,BS_BITMAP);

pButton->SetBitmap(bmp);