CBitmap::LoadBitmap问题

为什么LoadBitmap不能装载任意32*32*16色的BMP文件


编号:QA003588
建立日期: 2000年11月27日 最后修改日期:2000年11月27日
所属类别:

王强:
    操作系统: WinX
    编程工具: VC++6
    问题:
    CImageList *image;
    CBitMap *bmp;
     image=new CImageList();
     bmp=new CBitmap();
     image->Create(32,32,ILC_COLOR4,0,1);
    
     bmp->LoadBitmap(".//Face//18-1.bmp");
     image->Add(bmp,color);
    
     bmp->LoadBitmap(".//Face//18-2.bmp");
     image->Add(bmp,color);
    
     bmp->LoadBitmap(".//Face//18-3.bmp");
     image->Add(bmp,color);
    
    
     m_ListCtrl.SetImageList(image, LVSIL_SMALL);
    
     m_ListCtrl.InsertItem(0,CString("Face1"),0);
     m_ListCtrl.SetItemText(0,1,CString("Record1_f2"));
    
     m_ListCtrl.InsertItem(1,CString("Face2"),1);
     m_ListCtrl.SetItemText(1,1,CString("Record2_f2"));
    
     m_ListCtrl.InsertItem(1,CString("Face3"),2);
     m_ListCtrl.SetItemText(1,1,CString("Record3_f2"));
    通过以上代码装载任意32*32*16色的BMP文件,在LISTCTRL中却不能把图形显示出来。请指教。
    水平: 刚入门

回答:

    CBitmap::LoadBitmap()不能以文件形式打开,原因不知道,虽然提供了LPCTSTR lpszResourceName(主持人注:这个参数是DLL或EXE中的资源名,不是文件名),我给出了另外的方法,也是常用的。请看下面的代码:
     CBitmap bmp[3];
     image=new CImageList();
     image->Create(32,32,TRUE,1,1);
     HBITMAP hbmp;//位图句柄
     hbmp= (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
     "bitmap1.bmp",IMAGE_BITMAP,0,0,
     LR_LOADFROMFILE);//从文件bitmap1.bmp打开位图资源
     bmp[0].Attach(hbmp);//绑定
     image->Add(&bmp,color);
    
     hbmp= (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
     "bitmap2.bmp",IMAGE_BITMAP,0,0,
     LR_LOADFROMFILE);
     bmp[1].Attach(hbmp);
     image->Add(&bmp2,color);
    
     hbmp= (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
     "bitmap3.bmp",IMAGE_BITMAP,0,0,
     LR_LOADFROMFILE);
     bmp[2].Attach(hbmp);
     image->Add(&bmp3,color);
    
     m_list.SetImageList(image, LVSIL_NORMAL);

此问题由bluenet回答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值