//加入用户 bool CUserListView::InsertUserItem(tagUserData * pUserData) { //效验状态 ASSERT(pUserData!=NULL); if (GetSafeHwnd()==NULL) return false; //查找用户 LVFINDINFO FindInfo; memset(&FindInfo,0,sizeof(FindInfo)); FindInfo.flags=LVFI_PARAM; FindInfo.lParam=(LPARAM)pUserData; int iItem=FindItem(&FindInfo); //用户名 if (iItem==-1) { int nImageStation=GetImageStation(pUserData); int nInsertStation=GetInsertStation(pUserData); iItem=InsertItem(nInsertStation,pUserData->szName,nImageStation); SetItemData(iItem,(DWORD_PTR)pUserData); } //填写资料 FillUserListItem(iItem,pUserData); return true; }
//加入用户 bool CUserListView::InsertUserItem(IUserItem * pIUserItem) { //效验状态 ASSERT(pIUserItem!=NULL); if (GetSafeHwnd()==NULL) return false; //查找用户 LVFINDINFO FindInfo; memset(&FindInfo,0,sizeof(FindInfo)); FindInfo.flags=LVFI_PARAM; FindInfo.lParam=(LPARAM)pIUserItem; int iItem=FindItem(&FindInfo); if (iItem!=-1) { UpdateUserItem(pIUserItem); return true; } //写入用户 if (m_wColumnCount>0) { int nImageStation=GetImageStation(pIUserItem); int nInsertStation=GetInsertStation(pIUserItem); iItem=InsertItem(LVIF_IMAGE|LVIF_TEXT|LVIF_PARAM,nInsertStation,GetDisplayText(pIUserItem,0), 0,0,nImageStation,(LPARAM)pIUserItem); } for (WORD i=1;i<m_wColumnCount;i++) { SetItem(iItem,i,LVIF_TEXT,GetDisplayText(pIUserItem,i),0,0,0,0); } return true; }