VC++ 按钮加载bmp位图的方法
1、方法一、显示位图文件[cpp]view plaincopyHBITMAPhBitmap=(HBITMAP)LoadImage(N炽扃仄呦ULL,_T(“xxx.bmp”),Image_Bitmap,0,0,Lr_CreateDibSection|Lr_DefaultSize|Lr_LoadFromFile);//加载bmp文件xxx.bmp就是要加载的图片名字CBitmapbitmap;bitmap.Attach(hBitmap);//关联位图对象CDCdcimage;dcimage.CreateCompatibleDC(pDC);//内存DCBITMAPbmp;bitmap.GetBitmap(&bmp);//获取位图信息dcimage.SelectObject(&bitmap);//选取位图对象pDC->BitBlt(0,0,bmp.bmWidth,bmp.bmHeight,&dcimage,0,0,SRCCOPY);//显示

3、直接用mfc自带的static 图片控件显示bmp位图资源 方法1: 1) 更改属性Picture Control属性 2) 直接关联上image: 设置Image属性 3) 更改type为Bitmap 方法2:(PictureEx类网上搜) 1)添加控件变量为PictureEx对象 2) 直接m_pic1.LoadBitmap(IDB_BITMAP1); 示例: 1. 关联 Picture Control 对象: m_stPicture 2. 添加2个BMP资源 IDB_BITMAP1, IDB_BITMAP2 3. 定义: HBITMAP m_hBitmap;

5、5. 切换图片void CShowBmpDlg::OnBnClickedOk(){static int nId = 0;nId++;if (NULL != m_hBitmap){ ::DeleteObject(m_hBitmap); m_hBitmap = NULL;} int nPicId = nId = nId % 2 ? IDB_BITMAP2 : IDB_BITMAP1;m_hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(nPicId), IMAGE_BITMAP, 0, 0, LR_LOADMAP3DCOLORS);m_stPicture.ModifyStyle(0xF, SS_BITMAP);m_stPicture.SetBitmap(m_hBitmap);}
