CListCtrl批量插入不刷新

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ClamReason/article/details/82219399
//////////////////////////////////////////////////////////////////////////
		//插入过程禁止刷新界面
		m_ctrlListSel.LockWindowUpdate();
		m_ctrlListSel.SetRedraw(FALSE);//插入时如果设置了被选中状态就会引发重绘
//////////////////////////////////////////////////////////////////////////

//do something demo
int count = pListCtrl->GetItemCount();
		//LVIF_PARAM 需要提供LPARAM参数
		//LVIF_TEXT 需要设置树节点文本
		//LVIF_IMAGE 需要设置树节点的图片
		pListCtrl->InsertItem(LVIF_PARAM|LVIF_TEXT|LVIF_IMAGE, count,  RoleName.GetBuffer(), 0, 0, pItemInfo->iImage, pData);
//注意:使用SetItemData会很慢,有人测试会比InsertItem慢100倍

//do something demo2 
		m_ctrlListSel.InsertItem(LVIF_PARAM|LVIF_TEXT|LVIF_IMAGE|LVIF_STATE, nIndex,  strText.GetBuffer(), TVIS_SELECTED, TVIS_SELECTED, m_nSelType, (DWORD_PTR)pPerson);


//////////////////////////////////////////////////////////////////////////
		m_ctrlListSel.SetRedraw(TRUE);
		m_ctrlListSel.UnlockWindowUpdate();
//////////////////////////////////////////////////////////////////////////

猜你喜欢

转载自blog.csdn.net/ClamReason/article/details/82219399