2014-10-20 7 views
2

У меня есть CListCtrl содержит около 2500 различных элементов, состоящих из значка 48x48 и текста.Принудительное обновление виртуального CListCtrl

Благодаря количеству данных я реализовал его в качестве виртуального списка, обеспечивающего

ON_NOTIFY(LVN_GETDISPINFO, IDC_LST_ICONS, &CWGDIconSearchDlg::OnLvnGetdispinfoLstIcons) 
ON_NOTIFY(LVN_ODFINDITEM, IDC_LST_ICONS, &CWGDIconSearchDlg::OnLvnOdfinditemLstIcons) 

Моя проблема, когда я изменить содержимое списка этих обратного вызова не получить никогда называется.

Как я могу заставить его?

+0

Используйте теги кода в следующий раз. – gsamaras

ответ

2

Windows не может знать, что вы изменили элемент в виртуальном списке.

Чтобы вызвать перерисовку вашего CListCtrl, вы должны позвонить yourcontrol.Invalidate(), который вызовет перерисовку вашего элемента управления.

+0

Вы правы, это сработало, как шарм, Ty очень –