Delphi TListView刷新闪烁问题

本文探讨了在使用TListView动态选择列并显示数据时,出现的多次闪烁问题。通过引入LockWindowUpdate函数来限制ListView刷新,有效解决了数据加载过程中的闪烁现象。详细解释了原有代码中BeginUpdate与EndUpdate的不足之处,并提供了改进方案。

应用场景

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值