gpt4 book ai didi

winapi - 为什么有时会用空矩形调用 WM_PAINT?

转载 作者:行者123 更新时间:2023-12-01 11:39:26 26 4
gpt4 key购买 nike

我经常画画。目前我正在使用 WM_TIMER 来安排使用 InvalidateRect 的绘画。由于某种原因,WM_PAINT 经常被称为区域 (0,0,0,0),因此基本上是一个空矩形。我试图将其解释为“整个窗口”,但它似乎导致了相当多的性能下降。为什么 Windows 会发送它?

最佳答案

您的问题在标准文档中得到了很好的回答:http://msdn.microsoft.com/en-us/library/windows/desktop/dd145213%28v=vs.85%29.aspx .

基本上,系统会在消息队列为空时发送 WM_PAINT 消息,默认情况下它会偶尔这样做,而不管是否有任何东西要绘制。许多较旧的应用程序依赖于 WM_PAINT(例如进行空闲时间处理)并保持此行为可确保兼容性。

不,你不能假设它意味着整个屏幕。如果该区域为空,则应避免调用 BeginPaint/EndPaint 并将其传递给默认窗口过程。

关于winapi - 为什么有时会用空矩形调用 WM_PAINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com