CListCtrl上显示的图片涂上颜色

原创 2006年05月20日 15:29:00

解決方案:

<pre>

 void CPntAttrRegDlg::InitListAtt()
{
 CBitmap bmp;
 if (_imageList != NULL)
 {
  delete _imageList ;
  _imageList = NULL ;
 }
 _imageList = new CImageList();
 ASSERT(_imageList != NULL);    // serious allocation failure checking
 _imageList->Create(60, 20, ILC_COLOR16, 0, 10); //原始图片是60*20的256色图片有10个
    _spAttr->SetPointMap(_pAttMap);
 map<string, AttriStyleDef>::iterator iterPoint;
 
 COLORMAP colorMap ;
 colorMap.from = RGB(0, 0, 0);
//颜色从黑色开始
 for(size_t i = 0; i <_vecStrID.size(); ++i)
 {
  iterPoint = _pAttMap.find(_vecStrID[i]);
  assert(iterPoint != _pAttMap.end());

  AttriStyleDef asd = iterPoint->second;
  colorMap.to = asd.GetColor().ToCOLORREF(); //结束颜色
  bmp.LoadMappedBitmap(MARKER_STYLE[asd.GetRepresentId()], 0, &colorMap, 1);
  _imageList->Add(&bmp, ILC_COLOR16);

  bmp.DeleteObject();
  LVITEM lvi;
  lvi.mask =  LVIF_IMAGE | LVIF_TEXT;

  lvi.iItem = int(i);
  lvi.iSubItem = 0;
  CString tmp = asd.GetId().c_str();

  lvi.pszText = (LPTSTR)(LPCTSTR)(tmp);
  lvi.iImage = int(i);
  _listAttr.InsertItem(&lvi);

  lvi.iSubItem = 1;
  tmp = asd.GetCmt().c_str();
  lvi.pszText = (LPTSTR)(LPCTSTR)(tmp);
  _listAttr.SetItem(&lvi);
 }
 _listAttr.SetImageList(_imageList, LVSIL_SMALL);
}

</pre>

相关文章推荐

MFC绘制CListCtrl单元格颜色+重绘窗体背景+电脑桌面绘制图片等

MFC绘制CListCtrl单元格颜色+重绘窗体背景+电脑桌面绘制图片等

CListCtrl中列表显示任意图片

  • 2012年03月06日 13:52
  • 347KB
  • 下载

MFC ADO用CListCtrl CImageList显示图片

这些天在弄MFC下的ADO图片保存到数据库的工作,确实MFC比较复杂,但功能也很多。此方法应该适用于大多数VC,未经证实! 1.图片如何保存到数据库中?     新建access数据库中,对表进行...

在分割的视图内实现CListCtrl控件 结合CImageList实现图片的自动排列显示

先上一个效果图:   1.建立单文档视图工程 2.

CListCtrl控件背景颜色网格色彩

  • 2016年04月01日 11:15
  • 49.83MB
  • 下载

从 CListCtrl 派生一个了的继承类CColorListCtrl,主要用于改变单元格的颜色

有压力才有动力,经过两个多小时的摸索,饿着肚子干,终于实现了CListCtrl 单元色颜色的随意改变。特备忘如下: ColorListCtrl .h代码 #pragma once // ...

设置CListCtrl单元格的颜色

pragma once// CListCtrlClclass CListCtrlCl : public CListCtrl { DECLARE_DYNAMIC(CListCtrlCl)publ...

设置某一行背景颜色的CListCtrl

三个接口函数,设置某一行的文字颜色(前景色)和背景色,使用说明都放在注释里了,自己看吧: LineColorListCtrl.h #if !defined(AFX_LINECOLORLISTC...

CListCtrl修改指定行的颜色

添加自己的列表控件类,
  • lcalqf
  • lcalqf
  • 2014年08月25日 15:49
  • 2441
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CListCtrl上显示的图片涂上颜色
举报原因:
原因补充:

(最多只允许输入30个字)