vc listctrl里相同的列不同行显示不同图标
2008-11-25 19:05
344 查看
一.将图标1和图标2并排添加到一个BITMAP资源中(IDB_BITMAP1)
1.先添加两个16×16的ico图标,然后添加资源,选择bitmap,该bitmap是32×32的,然后打开Bitmap,打开“资源工具条”里面的"ID="
2.然后选择“改变”-> “查看使用”,然后修改"宽"32,“高”16,然后打开第一个ico,CTRL+C复制,然后打开bitmap,CTRL+V,然后再点击第二个ico,CTRL+C复制,然后打开bitmap,CTRL+V
3.这时这两个图示重叠在一起的, 将后添加的第二个ico移到bitmap右面然后,保存
二,对话框初始化函数里:
wndList.SetExtendedStyle( wndList.GetExtendedStyle() |LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT |LVS_EX_SUBITEMIMAGES);
wndList.InsertColumn(1, "第一列", LVCFMT_CENTER,110, -1);
wndList.InsertColumn(2, "第二列", LVCFMT_CENTER,180, -1);
wndList.InsertColumn(3, "图标", LVCFMT_CENTER, 190, -1);
// 插入列
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
m_pImageList = new CImageList();
m_pImageList-> Create(16,16,TRUE,2,2);
m_pImageList-> Add(&bitmap, RGB(0, 0, 0));
wndList.SetImageList(m_pImageList,LVSIL_SMALL);
三.void CListctrlDlg::OnButton1()
{
if(nCount%2==0)
{
wndList.InsertItem( nCount, _T("第1行第一列"),-1); //添加第nCount,行,第一列的文本为“第n行”,-1表示不添加图标
wndList.SetItem( nCount,1,LVIF_TEXT|LVIF_IMAGE,_T("第二列"),-1,NULL,NULL, 0);
//设置第n行第2列的文本为“第二列”,-1表示不添加图标
wndList.SetItem( nCount,2,LVIF_TEXT|LVIF_IMAGE,_T(""),1,NULL,NULL, 0);
//设置第n行第3列的文本为“第三列”,0表示添加第一个图标1表示第二个图标
}
if(nCount%2!=0)
{
wndList.InsertItem( nCount, _T("第1行第一列"),-1);
wndList.SetItem( nCount,1,LVIF_TEXT|LVIF_IMAGE,_T("第二列"),-1,NULL,NULL, 0);
wndList.SetItem( nCount,2,LVIF_TEXT|LVIF_IMAGE,_T(""),0,NULL,NULL, 0);
}
}
1.先添加两个16×16的ico图标,然后添加资源,选择bitmap,该bitmap是32×32的,然后打开Bitmap,打开“资源工具条”里面的"ID="
2.然后选择“改变”-> “查看使用”,然后修改"宽"32,“高”16,然后打开第一个ico,CTRL+C复制,然后打开bitmap,CTRL+V,然后再点击第二个ico,CTRL+C复制,然后打开bitmap,CTRL+V
3.这时这两个图示重叠在一起的, 将后添加的第二个ico移到bitmap右面然后,保存
二,对话框初始化函数里:
wndList.SetExtendedStyle( wndList.GetExtendedStyle() |LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT |LVS_EX_SUBITEMIMAGES);
wndList.InsertColumn(1, "第一列", LVCFMT_CENTER,110, -1);
wndList.InsertColumn(2, "第二列", LVCFMT_CENTER,180, -1);
wndList.InsertColumn(3, "图标", LVCFMT_CENTER, 190, -1);
// 插入列
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
m_pImageList = new CImageList();
m_pImageList-> Create(16,16,TRUE,2,2);
m_pImageList-> Add(&bitmap, RGB(0, 0, 0));
wndList.SetImageList(m_pImageList,LVSIL_SMALL);
三.void CListctrlDlg::OnButton1()
{
if(nCount%2==0)
{
wndList.InsertItem( nCount, _T("第1行第一列"),-1); //添加第nCount,行,第一列的文本为“第n行”,-1表示不添加图标
wndList.SetItem( nCount,1,LVIF_TEXT|LVIF_IMAGE,_T("第二列"),-1,NULL,NULL, 0);
//设置第n行第2列的文本为“第二列”,-1表示不添加图标
wndList.SetItem( nCount,2,LVIF_TEXT|LVIF_IMAGE,_T(""),1,NULL,NULL, 0);
//设置第n行第3列的文本为“第三列”,0表示添加第一个图标1表示第二个图标
}
if(nCount%2!=0)
{
wndList.InsertItem( nCount, _T("第1行第一列"),-1);
wndList.SetItem( nCount,1,LVIF_TEXT|LVIF_IMAGE,_T("第二列"),-1,NULL,NULL, 0);
wndList.SetItem( nCount,2,LVIF_TEXT|LVIF_IMAGE,_T(""),0,NULL,NULL, 0);
}
}
![](http://cnc.imgcache.qq.com/ac/b.gif)
相关文章推荐
- vc listctrl里相同的列不同行显示不同图标
- ListCtrl显示不同类型文件图标
- VC2013同一个工程生成的exe文件显示不同的图标
- Material Document 中相同的工厂物料库存地点下显示不同的movement type对应的quantity及SUM
- Delphi DBGRID中 根据不同的字段值显示不同的小图标
- c#——Winform DatagridView不同行不同控件显示
- VC编辑框内显示不同的字体
- SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计
- vc中在不同的预编译选项中编译出不同的exe图标
- CMFCMenuBar和CMFCToolBar相同ID,在显示不同标签文字
- ios tableView中在不同行中显示不同的颜色
- VC 关于让子窗显示图标的问题
- Android应用图标在状态栏上显示,以及显示不同的图标
- 使用VC实现读取指定路径下的文件,并显示所有文件的文件名和文件图标
- VC 程序显示托盘图标功能
- extjs 3.4 实现EditorGridPanel不同行同一列显示不同的Editor
- VC----文件图标和窗口图标及在任务栏显示的图标
- 权限---根据传递不用的值,显示不同的图标
- Ngixn根据手机端与电脑端设备相同地址显示不同页面内容
- Android-相同BitmapDrawable在不同ImageView显示问题