#define PICHEGITH 11
#define PICWIDTH 18
void CTestDlg::ImageList_to_Bitmap(CBitmap *pBitmap, int index)
{
CImageList *pImg = new CImageList;
CBitmap Bitmap;
BOOL bTest = Bitmap.LoadBitmap(IDB_TESTWORK);
CImageList ImgList ;
pImg->Create(PICWIDTH, PICHEGITH, ILC_COLOR24|ILC_MASK, 6, 1);
BOOL bOk = pImg->Add(&Bitmap,RGB(192,192,192)) ;
if(!pImg)
return;
IMAGEINFO imageinfo;
pImg->GetImageInfo(index,&imageinfo);
BITMAP bitmap;
CBitmap::FromHandle(imageinfo.hbmImage)->GetBitmap(&bitmap);
pBitmap->CreateBitmapIndirect(&bitmap);
}
void CTestDlg::OnPaint()
{
CPaintDC dc(this);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmp;
ImageList_to_Bitmap(&bmp, 1);
dcMem.SelectObject(&bmp);
dc.BitBlt(0,0,1000,1000,&dcMem,0,0,SRCCOPY);
dcMem.DeleteDC();
}
为什么显示不出来?
#define PICWIDTH 18
void CTestDlg::ImageList_to_Bitmap(CBitmap *pBitmap, int index)
{
CImageList *pImg = new CImageList;
CBitmap Bitmap;
BOOL bTest = Bitmap.LoadBitmap(IDB_TESTWORK);
CImageList ImgList ;
pImg->Create(PICWIDTH, PICHEGITH, ILC_COLOR24|ILC_MASK, 6, 1);
BOOL bOk = pImg->Add(&Bitmap,RGB(192,192,192)) ;
if(!pImg)
return;
IMAGEINFO imageinfo;
pImg->GetImageInfo(index,&imageinfo);
BITMAP bitmap;
CBitmap::FromHandle(imageinfo.hbmImage)->GetBitmap(&bitmap);
pBitmap->CreateBitmapIndirect(&bitmap);
}
void CTestDlg::OnPaint()
{
CPaintDC dc(this);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmp;
ImageList_to_Bitmap(&bmp, 1);
dcMem.SelectObject(&bmp);
dc.BitBlt(0,0,1000,1000,&dcMem,0,0,SRCCOPY);
dcMem.DeleteDC();
}
为什么显示不出来?