我是从数据库里读数据,一次一条的填写listctrl,本身已经设置了图标了。但用
SetItemText(i, 0, (LPCTSTR)(VariantToCString(vCur)));後,图标就不显示了,但如果用InsertItem就可以显示出来,我应该怎么做呢?改用InsertItem?如果要改,怎么做? strSQL.Format("SELECT * FROM 联系人表 where 联系人 = '%s'", TreeCurrent);
try
{
HRESULT hTRes;
hTRes = m_pTreeRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
//----------------------------------------------------
hTRes = m_pTreeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
    _variant_t((IDispatch *)m_pTreeConn,true),
adOpenDynamic,adLockPessimistic,adCmdText);

if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
//------------------------------------------
m_pTreeRecordset->MoveFirst(); while(!m_pTreeRecordset->adoEOF)
{
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp[50];
lvitem.iItem = ++i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp, 10); 
m_ListCtrl.InsertItem(&lvitem);

vCur = (m_pTreeRecordset->GetCollect("手机"));
m_ListCtrl.SetItemText(i, 0, (LPCTSTR)(VariantToCString(vCur)));

vCur = (m_pTreeRecordset->GetCollect("姓名"));
m_ListCtrl.SetItemText(i, 1, (LPCTSTR)(VariantToCString(vCur))); vCur = (m_pTreeRecordset->GetCollect("备注"));
m_ListCtrl.SetItemText(i, 2, (LPCTSTR)(VariantToCString(vCur))); vCur = (m_pTreeRecordset->GetCollect("加入时间"));
m_ListCtrl.SetItemText(i, 3, (LPCTSTR)(VariantToCString(vCur)));

vCur = (m_pTreeRecordset->GetCollect("到期时间"));
m_ListCtrl.SetItemText(i, 4, (LPCTSTR)(VariantToCString(vCur))); m_pTreeRecordset->MoveNext();
}
}
}
}