您的位置:首页 > 其它

动态改变ListCtrl中的图标

2017-05-19 10:23 253 查看
第一部分为加载:

DWORD dwStyle = m_listNodeInfo.GetExtendedStyle(); 

dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl) 
dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl) 
dwStyle |= LVS_EX_SUBITEMIMAGES;

m_listNodeInfo.SetExtendedStyle(dwStyle);//设置扩展风格 
m_imgList.Create(16,16, 1, 10, 4);
m_imgList.Add(AfxGetApp()->LoadIcon(IDI_WireU));
m_imgList.Add(AfxGetApp()->LoadIcon(IDI_Wire));
m_listNodeInfo.SetImageList(&m_imgList,LVSIL_SMALL);

m_listNodeInfo.InsertColumn(0,"",LVCFMT_LEFT,20);
m_listNodeInfo.InsertColumn(1,"监测点",LVCFMT_LEFT,100);  // added by ftai 2015.05.28
m_listNodeInfo.InsertColumn(2,"设备ID",LVCFMT_LEFT,70);
m_listNodeInfo.InsertColumn(3,"模块端IP地址",LVCFMT_LEFT,120);
m_listNodeInfo.InsertColumn(4,"客户端连接状态",LVCFMT_LEFT,100);
m_listNodeInfo.InsertColumn(5,"客户端当前活动内容",LVCFMT_LEFT,150);
m_listNodeInfo.InsertColumn(6,"客户端IP地址",LVCFMT_LEFT,120);
m_listNodeInfo.InsertColumn(7,"所属域名",LVCFMT_LEFT,120);

第二部分为动态改变:

// 绿色,表示传感器连通
{
LV_ITEM lvitem;
memset((char *)&lvitem,0,sizeof(LV_ITEM));
lvitem.mask = LVIF_TEXT|LVIF_IMAGE|LVIF_STATE;
lvitem.iItem = i;
lvitem.iSubItem = 0;
lvitem.stateMask = 0;
lvitem.iImage = 1;          //显示不同的图标
m_listNodeInfo.SetItem (&lvitem); // 千万不能用InsertItem,因为它是新建一行。SetItem则为在当前行进行设置。
}
m_listNodeInfo.SetRowColors(i,GetSysColor(COLOR_WINDOW), RGB(0, 100, 0));
m_listNodeInfo.SetItemText(i, 3, cs->GetSIp().c_str());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: