Mam pytanie, jak w listview trzymać duże ilości danych które teraz trzymam w strukturze, nie ma chyba sensu na powielanie ich i wpisywanie ponowne do listview, ktoś może wie jak ten problem rozwiązać ?
Z góry dziękuję.
0
0
Poszukaj na msdn o virtual listview
0
Tak, virtual list view jest rozwiązaniem co za tym idzie metoda:
void CMyListCtrl::OnGetdispinfoList1(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
LV_ITEM* pItem = &(pDispInfo)->item;
int Index = pItem->iItem;
// Index - kolejna pozycja w wirtualnym ListView
if(pItem->mask & LVIF_TEXT)
{
if(pItem->iSubItem == 0)
{
lstrcpyn(pItem->pszText, "aa", pItem->cchTextMax);
}
*pResult = -1;
}
void CMyListCtrl::RunListView()
{
SetItemCount(10);
}
W wyniku złożenia tego kodu w Twoim jednokolumnowym ListView 'pojawi sie' 10 wierszy z zawartoscia "aa". Należy jednak pamiętać o trybie ListView musi być ustawiony na OwnerData.