[MFC]ListControl控件列表report类型添加列表图标
2014-03-11 13:25
549 查看
之前遇到过需要在列表中插入图标作为状态的功能,类似任务管理器,网上资料很少,研究了几天后,终于弄好了。
希望能够帮助到遇到同样问题的朋友们。
HICON m_online;
HICON m_offline;
HICON m_setsucceed;
4000
HICON m_seterror;
m_online = AfxGetApp()->LoadIcon(IDI_ONLINE);
m_offline = AfxGetApp()->LoadIcon(IDI_OFFLINE);
m_setsucceed = AfxGetApp()->LoadIcon(IDI_SETSUCCEED);
m_seterror = AfxGetApp()->LoadIcon(IDI_SETERROR);
CListCtrl m_listAp;
LONG lStyle;
lStyle = GetWindowLong(m_listAp.m_hWnd, GWL_STYLE);// 获取当前窗口style
//m_listAp是控件变量
lStyle = lStyle&(-LVS_TYPEMASK); //清楚显示方式
lStyle = lStyle|LVS_REPORT;
SetWindowLong(m_listAp.m_hWnd, GWL_STYLE, lStyle);// 设置style
DWORD dwStyle = m_listAp.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;// 选中某行使整行高亮(只适用与report 风格的listctrl )
dwStyle |= LVS_EX_GRIDLINES;// 网格线(只适用与report 风格的listctrl )
dwStyle |= LVS_EX_CHECKBOXES;//item 前生成checkbox 控件
dwStyle |= LVS_EX_SUBITEMIMAGES;
m_listAp.SetExtendedStyle(dwStyle); // 设置扩展风格
//设置好风格之后
CImageList m_image;//成员变量
m_image.Create(16,16,ILC_COLOR24|ILC_MASK,1,1);
m_image.SetBkColor(RGB(255,255,255));
m_image.Add(m_online);//icon变量
m_image.Add(m_offline);//icon变量
m_image.Add(m_setsucceed);//icon变量
m_image.Add(m_seterror);//icon变量
m_listAp.SetImageList(&m_image,LVSIL_SMALL);
...
m_listAp.SetItem(i,MODEL_POSITION,LVIF_TEXT|LVIF_IMAGE,ap.model,setstate,0,0,0);
//插入数据或者更新数据后设置图标,setstate是m_image的序号,我这个代码里面,setstate=0代表使用m_online图标,1代表使用m_offline图标,以此类推...
//ap.model是我这边显示插入数据列的文本,i是插入数据的行号,MODEL_POSITION是列号,LVIF_TEXT|LVIF_IMAGE,代表插入文本和图标
希望能够帮助到遇到同样问题的朋友们。
HICON m_online;
HICON m_offline;
HICON m_setsucceed;
4000
HICON m_seterror;
m_online = AfxGetApp()->LoadIcon(IDI_ONLINE);
m_offline = AfxGetApp()->LoadIcon(IDI_OFFLINE);
m_setsucceed = AfxGetApp()->LoadIcon(IDI_SETSUCCEED);
m_seterror = AfxGetApp()->LoadIcon(IDI_SETERROR);
CListCtrl m_listAp;
LONG lStyle;
lStyle = GetWindowLong(m_listAp.m_hWnd, GWL_STYLE);// 获取当前窗口style
//m_listAp是控件变量
lStyle = lStyle&(-LVS_TYPEMASK); //清楚显示方式
lStyle = lStyle|LVS_REPORT;
SetWindowLong(m_listAp.m_hWnd, GWL_STYLE, lStyle);// 设置style
DWORD dwStyle = m_listAp.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;// 选中某行使整行高亮(只适用与report 风格的listctrl )
dwStyle |= LVS_EX_GRIDLINES;// 网格线(只适用与report 风格的listctrl )
dwStyle |= LVS_EX_CHECKBOXES;//item 前生成checkbox 控件
dwStyle |= LVS_EX_SUBITEMIMAGES;
m_listAp.SetExtendedStyle(dwStyle); // 设置扩展风格
//设置好风格之后
CImageList m_image;//成员变量
m_image.Create(16,16,ILC_COLOR24|ILC_MASK,1,1);
m_image.SetBkColor(RGB(255,255,255));
m_image.Add(m_online);//icon变量
m_image.Add(m_offline);//icon变量
m_image.Add(m_setsucceed);//icon变量
m_image.Add(m_seterror);//icon变量
m_listAp.SetImageList(&m_image,LVSIL_SMALL);
...
m_listAp.SetItem(i,MODEL_POSITION,LVIF_TEXT|LVIF_IMAGE,ap.model,setstate,0,0,0);
//插入数据或者更新数据后设置图标,setstate是m_image的序号,我这个代码里面,setstate=0代表使用m_online图标,1代表使用m_offline图标,以此类推...
//ap.model是我这边显示插入数据列的文本,i是插入数据的行号,MODEL_POSITION是列号,LVIF_TEXT|LVIF_IMAGE,代表插入文本和图标
相关文章推荐
- MFC列表控件ListControl和树控件TreeControl
- MFC List Control 控件添加单元格编辑和单元格下拉列表项
- MFC列表控件ListControl和树控件TreeControl
- MFC列表控件ListControl和树控件TreeControl
- MFC 为树形控件添加图标
- VC++列表控件Report报表样式初始化及添加数据基本方法
- MFC列表控件ListControl和树控件TreeControl
- 猎豹MFC--列表控件ListControl
- mfc 在ListCtrl控件的非第一列添加图标
- 转:mfc 在ListCtrl控件的非第一列添加图标
- CListCtrl控件,Report风格列表中添加图片
- CListCtrl控件,Report风格列表中添加图片
- CListCtrl控件,Report风格列表中添加图片
- MFC List Control 控件添加单元格编辑和单元格下拉列表项
- MFC 当列表控件为Report报表形式时,怎样实现修改表格数据
- 在列表控件中显示文件图标与类型
- MFC treectrl控件类以及添加图标
- MFC列表控件ListControl和树控件TreeControl
- MFC List Control控件添加单元格编辑和单元格下拉列表项以适用于数据库相关操作
- VC6.0 MFC添加树形控件CTreeCtrl