我的CListCtrl需要实时刷新,我目前的方法是:
首先DeleteAllItems(),再一个个重新填充进去。可是这种方法显然很笨。
我希望如下方式:
1. 首先通过finditem()来查找某个item是否已经存在,如果不存在则插入。
2. 检验某item是否存在时,希望通过它的第一列来检索,(如某人的身份证号码)可是我不太会用finditem函数,希望哪位高手给出个简单的例子。谢谢了!!!
首先DeleteAllItems(),再一个个重新填充进去。可是这种方法显然很笨。
我希望如下方式:
1. 首先通过finditem()来查找某个item是否已经存在,如果不存在则插入。
2. 检验某item是否存在时,希望通过它的第一列来检索,(如某人的身份证号码)可是我不太会用finditem函数,希望哪位高手给出个简单的例子。谢谢了!!!
解决方案 »
- VC 对话框上使用 ALT加速键 的神奇问题
- 有没有人知道Excel中复制功能是怎么做的?我想做个东西,可以和Excel对拷.包括单元格边框颜色等
- 关于进度条的问题
- 关于使用::CoInitialize(NULL);和::CoInitializeEx(NULL, COINIT_MULTITHREADED);的问题。请高手帮忙。
- 怎样模拟发送菜单项选中消息?
- 小问题,如何修改单文档界面上的标题?
- 我想在window任务管理器中关闭我的程序的时候,程序可以有反映
- 急候:…… :ASF、RM、WMA、RA 怎么下载?
- atl/com outlook newInspector event 问题
- 谁能告诉我,能不能把AVI转化成JPG格式?
- 可执行文件可以删除的本体吗?
- VC++中CPtrList的一个问题
for(int nItem = 0; nItem < m_List.GetItemCount(); nItem ++)
{
m_List.GetItemText(nItem, 0, szText);
if(strcmp(szText, szFind) == 0)
{
bFind = TRUE;
break;
}
}if(!bFind)
{
Insert a list item
}
CString strtemp = _T("");
BOOL bFind = FALSE;
CString strID = _T("1102342324234234");//你要插入的身份证ID info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = strID;
for(int nIndex=0; i < m_list.GetItemCount(); ++nIndex)
{
m_list.GetItemText(nIndex, 0, strtemp); if(m_list.FindItem(&info) == -1 )
continue;
else
{
// strtemp.Format("关键字在第%d行", nIndex+1);
// AfxMessageBox(strtemp);
bFind = TRUE;
break;
}
}
if(!bFind)
{
m_list.InsertItem(m_list.GetItemCount(), strID);
}
BOOL bFind = FALSE;
CString strKeyword = "keyword";
CString strtemp;
for(int i=0; i < m_list.GetItemCount(); ++i)
{
m_list.GetItemText(i, 0, strtemp);
if(strtemp != strKeyword )
continue;
else
{
strtemp.Format("关键字在第%d行", i+1);
AfxMessageBox(strtemp);
bFind = TRUE;
break;
}
}
if(!bFind)
{
m_list.InsertItem(m_list.GetItemCount(), strKeyword ); }