MFC重绘CListCtrl时DrawItem中绘制CimageList图片

本文介绍了如何在MFC的CListCtrl中利用DrawItem函数和CImageList类来实现第一列显示图片的效果,虽然目前还有一些不成熟的地方,主要涉及到逻辑坐标的处理,适合MFC初学者参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天一直为ClistCtrl重绘后在用Cimagelist重绘图片失败发愁,找资料都是要么没解决答案要么就是那些楼主自己解决但没贴出方法,自己各路问也是无人回答,菜鸟的方法都用尽了,但是功夫不负有心人,还是找到了个解决方法。下面贴出方法

<span style="white-space:pre">			</span>if (lvi.iImage >= 0)//大于等于0代表当前item有图片资源要画  图片序号
			{
				
				//HBITMAP hBitmap;

				IMAGEINFO ImageInfo;
				if (m_nImageCount == 1)
				{
					pImageList->GetImageInfo(0,&ImageInfo);
				}
				else
				{
					pImageList->GetImageInfo(lvi.iImage,&ImageInfo);				
				}
				

				///
				CDC dcMemory;  
				dcMemory.CreateCompatibleDC( pDC ); 
				CBitmap Bitmap;
				int   nWidth  = abs(ImageInfo.rcImage.right - ImageInfo.rcImage.left);
				int   nHeight = abs(ImageInfo.rcImage.bottom - ImageInfo.rcImage.top);

				Bitmap.CreateCompatibleBitmap(pDC, nWidth, nHeight);
				CBitma
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值