VB技巧:更新数据时防止表单刷新

ZDNet软件频道 时间:2002-12-17 作者:BUILDER.COM |  我要评论()
本文关键词:vbtips
当更新一个含有大量数据的表单时,这个表单可能会在屏幕上闪烁或是需要很长时间才能更新。本文介绍其解决方法。

当更新一个含有大量数据的表单时,这个表单可能会在屏幕上闪烁或是需要很长时间才能更新。一个表格或数据表一次只能读取一行时通常就会出现这样的情况。

这些情况的发生有两个可能的原因:一、控制器再次显示了表单,引起窗口的闪烁;二、某个控制器的Change事件的代码出现了错误,而这个控制器更新了同一个表单中的其他控制器。

不论是什么原因,你都可以用LockWindowUpdate API函数来克服表单闪烁和更新缓慢的问题。该功能可以禁止或激活在一个窗口中的绘图功能。

要禁止在表单窗口中的绘图功能,只需向该函数输入表单的窗口名称(hWnd属性);要重新激活窗口的绘图功能,只需向该函数输入NULL或0。

Private Declare Function LockWindowUpdate Lib "user32" _
(ByVal hwndLock As Long) As Long

Private Sub UpdateForm()
    Call LockWindowUpdate(Me.hWnd)
    'Perform update operation
    Call LockWindowUpdate(0)
End Sub

该函数对任何暴露了自己hWnd属性的控制器都起作用。然而,你要注意该函数一次只能锁住一个窗口。而且,禁止了一个窗口的绘图功能后,一定要记得再激活它,否则这个窗口将不能再更新。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134