list control的用法(四)--virtual List

 

最近做一个MFC 的项目,用list contral 的时候遇到一个问题,当大数据量显示的时候list contral在界面会卡掉,经过一番尝试最后才发现virtual list这个东西,简单使用,不多说了,下面就是具体的步骤:

 

最近做一个MFC 的项目,用list contral 的时候遇到一个问题,当大数据量显示的时候list contral在界面会卡掉,经过一番尝试最后才发现virtual list这个东西,简单使用,不多说了,下面就是具体的步骤: 1.ListInfo.SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_LABELTIP); 2.修改属性《所有者数据 == TRUE》 3. 添加LVN_GETDISPINFO消息相应 4.在相应函数中添加 LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR; LV_ITEM* pItem= &(pDispInfo)->item; PatientID_Name ID_Name = m_vecID[pItem->iItem]; CString strText; strText.Format(TEXT("MT %d"), ID_Name.ID); if (pItem->mask & LVIF_TEXT) //valid text buffer? { // then display the appropriate column switch(pItem->iSubItem) { case 0: lstrcpy(pItem->pszText, ID_Name.Name); break; case 1: _stprintf(pItem->pszText, strText); break; default: ASSERT(0); break; } } *pResult = 0;  

 

 

你可能感兴趣的:(list,mfc)