请教CListCtrl控件中加入图标列的做法?

wwwsuncn 2002-11-19 11:38:33
请问如何在CListCtrl控件中加入图标,在每一行的第一列加上图标用来标识?
最好能给我源码,多谢!

email:s_l_g@yeah.net
...全文
68 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaotao5 2002-11-29
  • 打赏
  • 举报
回复
你把文档基于CListview,再在视类中用
CListCtrl& m_Listview = (CListCtrl&) GetListCtrl();不是可以了。
下面是一个对该CListCtrl的显示操作:
CDaoFieldInfo fieldInfo;
int nFields;
CDaoTableDef td(m_pDatabase);
try
{
td.Open(m_strTableName);
nFields=td.GetFieldCount();
for(int j=0;j<nFields;j++){
td.GetFieldInfo(j,fieldInfo);
int nWidth=m_Listview.GetStringWidth(fieldInfo.m_strName)+30;
m_Listview.InsertColumn(j,fieldInfo.m_strName,LVCFMT_LEFT,nWidth);
}
}
catch(CDaoException* e)
{
e->ReportError();
e->Delete();
return;
}
td.Close();
//读取表数据
int nItem=0;
m_pImageList = new CImageList();
m_pImageList->Create(IDB_IMAGELIST, 16, 1, RGB(0,0,0));
try
{
CString strSelect=(_T("Select * From["));
strSelect+=m_strTableName;
strSelect+=_T("]");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while(!m_pRecordset->IsEOF()){
COleVariant var;
var=m_pRecordset->GetFieldValue(0);
m_Listview.InsertItem(nItem,CCrack::strVARIANT(var));
m_Listview.SetImageList(m_pImageList, LVSIL_SMALL);

for(int i=1;i<nFields;i++){ var=m_pRecordset->GetFieldValue(i);
m_Listview.SetItemText(nItem,i,CCrack::strVARIANT(var));
}
nItem++;
m_pRecordset->MoveNext();
}


我的PreCreateWindow是这样:
BOOL CJwglView::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |= LVS_REPORT;
return CListView::PreCreateWindow(cs);
}


如果还是不行我给你源程序。
nscboy 2002-11-28
  • 打赏
  • 举报
回复
int j=1;//j为m_pImageList中的第n个图标(或图片)
//nItem为要设置的Item的序号
int s=m_ctlList.SetItem(nItem,0,LVIF_IMAGE,"",j,0,LVIF_STATE,0);
wwwsuncn 2002-11-23
  • 打赏
  • 举报
回复
楼上的请问m_listctrl.SetImageList(m_pImageList, LVSIL_NORMAL);后如何能在ListCtrl中显示呢,我是做一个文件列表的,如果打开过就用一个开的信封,如果没有则用未找开的信封,类似outlook
wuxuan 2002-11-19
  • 打赏
  • 举报
回复
http://www.codeproject.com/listctrl/filedroplistctrl.asp
qing_li73 2002-11-19
  • 打赏
  • 举报
回复
See the sample below, FYI:

http://www.codeproject.com/listctrl/supergrid.asp
wj59 2002-11-19
  • 打赏
  • 举报
回复
若要创建列表控件 (List Control),需要在将新项插入到列表中时提供将要使用的图像列表。下面的示例将说明此过程,其中 m_pImagelist 是 CImageList 类型的指针,m_listctrl 是一个 CListCtrl 数据成员。

// create, initialize, and hook up image list
m_pImageList = new CImageList();
ASSERT(m_pImageList != NULL); // serious allocation failure checking
m_pImageList->Create(32, 32, TRUE, 4, 4);
m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST1));
m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST2));
m_listctrl.SetImageList(m_pImageList, LVSIL_NORMAL);

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧