我有一个CListCtrl包含大约2500个不同的元素,包括48x48图标和文本。
由于我将数据量实现为提供
的虚拟列表ON_NOTIFY(LVN_GETDISPINFO, IDC_LST_ICONS, &CWGDIconSearchDlg::OnLvnGetdispinfoLstIcons)
ON_NOTIFY(LVN_ODFINDITEM, IDC_LST_ICONS, &CWGDIconSearchDlg::OnLvnOdfinditemLstIcons)
我的问题是当我更改列表内容时,这些回调从未被调用过。
我该怎么强迫它?
答案 0 :(得分:2)
Windows无法知道您已更改虚拟列表中的项目。
为了触发重新绘制CListCtrl,您必须调用yourcontrol.Invalidate()
,这将触发重新控制您的控件。