如何避免Listview更新时闪烁的问题

ltpao 2002-09-21 07:59:40
Listview真是太夸张了,更改某个ListItem时,在Report模式会导致刷新整个可视区域的所有ListItem,而在LargeIcon模式更夸张,会刷新所有ListItem,包括不可视部分,所以在LargeIcon模式下闪烁更厉害,可以通过子类处理来解决这个问题,但是我怎么知道某个ListItem或SubItem需要刷新,好象没有IsDirty这样的标志,有谁能解决这个问题。
...全文
157 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltpao 2002-09-22
  • 打赏
  • 举报
回复
与LockWindowUpdate差不多,没有多大改观
junwhj 2002-09-22
  • 打赏
  • 举报
回复
InvalidateRect & ValidateRect
tong04 2002-09-22
  • 打赏
  • 举报
回复
十分观注此问题

ltpao 2002-09-22
  • 打赏
  • 举报
回复
LockWindowUpdate在频繁更新时效果不好,一个是不能反应状态的实时变化,另外在解锁时重画也会闪烁,对一次填充大批量数据时比较适用
zyl910 2002-09-21
  • 打赏
  • 举报
回复
LockWindowUpdate

VB声明
Declare Function LockWindowUpdate Lib "user32" Alias "LockWindowUpdate" (ByVal hwndLock As Long) As Long
说明
锁定指定窗口,禁止它更新。同时只能有一个窗口处于锁定状态
返回值
Long,非零表示成功,零表示失败(比如另外已有一个窗口锁定)
参数表
参数 类型及说明
hwndLock Long,欲锁定窗口的句柄。如设为零,则对窗口解锁
注解
windows会跟踪锁定窗口的区域,并会在窗口解锁后重画它们。可用GetDCEx获得一个特殊的设备场景,令其与锁定窗口协同工作,从而描绘一个加锁的窗口。这种技术的一个应用场合是创建跟踪矩形(比如用于改变窗口大小的矩形)

zyl910 2002-09-21
  • 打赏
  • 举报
回复
用LockWindowUpdate锁定窗口更新

LockWindowUpdate ListView1.hWnd
操作
LockWindowUpdate 0

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧