我在报告模式下有一个虚拟列表视图控件,我通过处理 NM_CUSTOMDRAW 通知手动绘制其项目。我遇到的问题是我的性能下降与列数成正比。通过调试代码,我注意到我的 OnCustomDraw 和 OnGetDispInfo 被调用用于在客户端窗口中甚至不可见的项目。
如果我有一个包含 1.000 行和 100 列的列表视图,其中只有 10 行和 5 列可见,我注意到将为这 10 行中的每个元素调用 OnCustomDraw 和 OnGetDispInfo。Listview 将向我发送所有不可见的 95 列的通知。
有没有人遇到过这样的问题?