Delphi TListView刷新闪烁问题

应用场景

TListView可以动态选择列并显示而且列宽度也要保存,加载数据ListView会出现N次闪烁

步骤一:

选择要显示列:

image

点击“确定”按钮,显示下图

步骤二:

image

界面会出现数据加载闪烁情况。

代码分析

原有代码:

image

ListView也启用了BeginUpdate与EndUpdate,使用这个两个方法还是会出现刷新问题。

查找相关资料,限制ListView刷新,使用LockWindowUpdate函数,如下图红线框的部分。

image

LockWindowUpdate函数

函数详细可以查看微软官方网站:https://msdn.microsoft.com/en-us/library/dd145034%28VS.85%29.aspx

image

还可以参考一下博客:With what operations is LockWindowUpdate meant to be used?

image

原文地址:https://www.cnblogs.com/zsy/p/5216131.html