什么时候不应该使用 LockWindowUpdate?

小夏 游戏 更新 2024-01-31

在上一篇文章中,我们研究了应该使用 lockwindowupdate 的场景,即拖动场景。

今天,我们将看一下 lockwindowupdate 被滥用的一些场景。

人们看到 LockWindowUpdate 的“锁定的窗口将无法重新绘制自身”行为,并将其用作 WM SetRedraw 消息的懒惰版本。

尽管发送 WM setredraw 消息实际上并不比调用 lockwindowupdate 难多少。 键入的字符数将增加 20 个字符,如果在 中使用 setwindowredraw 宏,则增加一半。

正如我们前面提到的,一次只能锁定系统中的一个窗口进行更新。

例如,如果调用 lockwindowupdate 的目的是防止窗口重绘,因为您正在更新窗口,并且不希望窗口在更新完成之前保持刷新,则只需在该窗口上禁用重绘即可。

如果使用 LockWindowUpdate,则会创建一系列微妙的问题。

首先,如果其他程序以同样的方式滥用 LockWindowUpdate,那么其中一个程序将失败。 谁先尝试 lockwindowupdate,谁就会得到它,第二个程序就会失败。 现在你该怎么办?您的窗口不再锁定。

其次,如果您已锁定窗口进行更新,并且用户切换到另一个程序并尝试拖动项目(甚至只是尝试移动窗口!),尝试将失败,并且用户现在处于拖放位置,由于某种神秘原因而停止工作。然后,十秒钟后,它又开始工作了。 “这个 Windows 系统有一个错误,”用户咕哝道。

相反,如果决定在执行拖放或窗口移动操作时调用 lockwindowupdate,则调用将失败。 这只是一个更通用的编程错误的具体示例,该错误使用全局状态来管理本地条件。

当您想在其中一个窗口中禁用重绘时,您不希望这影响系统中的其他窗口;这就是当地的情况。 但是,您使用的是全局状态(锁定更新的窗口)来跟踪它。

我已经可以预期人们会说,“好吧,如果有人不进行拖放,窗口管理器不应该让他们锁定窗口进行更新。 但是窗口管理器怎么知道呢?它知道发生了什么,但它不知道为什么。

程序调用 lockwindowupdate 是因为它懒得使用 WM setredraw 消息吗?或者它这样做是为了响应导致拖放操作的某些用户输入?

请注意,您不能只说“好吧,鼠标按钮必须向下”,因为用户可能正在执行基于键盘的操作,例如使用箭头键调整窗口大小,这相当于拖放。

道德问题很难解决,期望计算机能够推断出这个问题有点苛刻。

总结。 因此,如果不适用于拖放方案,请不要使用 LockWindowUpdate。 你很有可能需要这个:setredraw。

最后。 Raymond Chen 的“The Old New Thing”是我最喜欢的博客之一,它有很多关于 Windows 的小知识,这对 Windows 开发人员真的很有帮助。 **with what operations is lockwindowupdate not meant to be used?》

相似文章

    什么情况下会逾期还款,不会影响信用问题?

    正文为百姓天,全文字,读完全文大约需要分秒。贷款可以说是当今生活中必不可少的一部分,尤其是信用卡。基本上,每个人都使用它,对我们来说,在消费方面是相当愉快的,但是当涉及到还款日期时,它就更痛苦了。一旦无法偿还,我们的信用就会受到影响,前段时间,我的一个朋友遇到了信用卡还款问题。我们可以从她的案例中了...

    珀金斯柴油发动机会发生什么情况应该进行大修

    珀金斯柴油机是一种常见的柴油机,广泛应用于各种机械设备中。但是,随着使用量的增加,可能会出现一些故障或磨损,需要大修。本文将解释何时应该对 Perkins 柴油发动机进行大修。首先,当珀金斯柴油发动机的气缸 活塞 活塞环等关键部件严重磨损或损坏时,需要对其进行大修。这些部件的磨损或损坏会导致发动机性...

    在什么情况下可以或应该更换手机电池?更换手机电池还有意义吗?

    秋冬入住挑战 嘿嘿,看到这个问题,我真的不能抱怨。说实话,手机作为消费品,想要刺激经济发展,自然要定期淘汰,如果不定期更新,那么手机厂就没有订单,没有订单,就没有利润。如果没有利润,就没有办法给工人发工资,可能就没有办法给老板买LV包。没有工作,老板们就多不了孩子,在中国有限的前途,可能就没有人口了...

    用户在什么情况下需要使用IP代理来帮助他们的业务?

    随着互联网的普及和发展,越来越多的人开始利用互联网进行各种活动,如浏览网页等。但是,由于许多网络问题,人们可能无法正确访问某些 或服务。这就是 IP 服务的用武之地,它提供了一种解决此问题的方法。IP服务是通过服务器更改用户IP地址的服务。当用户使用服务器访问 Internet 时,其请求将发送到服...

    女生什么时候需要使用胸罩?胸贴的正确使用方法

    女孩在穿一些无肩带 低背或露背的衣服时可能需要使用胸部贴片。胸部贴片是一种内衣替代品,可以使乳房看起来更紧致 更光滑 更自然,并能有效避免因内衣不合适而引起的脂肪或裂缝等问题。以下是正确使用胸部贴片的方法 .清洁乳房 在使用胸部贴片之前,首先确保您的乳房清洁干燥,没有油脂和汗水。如果需要,您可以使用...