C Windows何时停止发送WM_PAINT消息?
如果窗口上指定的矩形无效(即需要绘制),则会将C Windows何时停止发送WM_PAINT消息?,c,winapi,C,Winapi,如果窗口上指定的矩形无效(即需要绘制),则会将WM_-PAINT消息发布到消息队列,如果我没有在WM_-PAINT事件处理程序中验证矩形,则会将新的WM_-PAINT消息发布到消息队列 这是正确的吗 如果它是正确的,那么Windows如何知道不继续发送WM_PAINT消息,我的意思是Windows如何知道等到我处理完WM_PAINT事件,然后在我没有验证矩形的情况下发送新的WM_PAINT消息,在我将WM_PAINT消息从消息队列中退出队列后,不直接发送新的WM_PAINT消息 如果我没有验证矩
WM_-PAINT
消息发布到消息队列,如果我没有在WM_-PAINT
事件处理程序中验证矩形,则会将新的WM_-PAINT
消息发布到消息队列
这是正确的吗
如果它是正确的,那么Windows如何知道不继续发送WM_PAINT
消息,我的意思是Windows如何知道等到我处理完WM_PAINT
事件,然后在我没有验证矩形的情况下发送新的WM_PAINT
消息,在我将WM_PAINT
消息从消息队列中退出队列后,不直接发送新的WM_PAINT
消息
如果我没有验证矩形,Windows如何知道等待我处理完WM_PAINT事件,然后发送新的WM_PAINT消息
通过调用BeginPaint
,然后进行绘制,然后调用EndPaint
来处理WM_-PAINT
。调用EndPaint
时,绘制的区域标记为有效
。。。在我将WM_PAINT消息从消息队列中退出队列后,不直接发送新的WM_PAINT消息
Windows在处理消息队列时生成WM_PAINT
消息。只有当存在无效区域时,它才会生成WM_PAINT
消息。绘制完成后,不再有无效区域,因此不会生成WM_PAINT
消息
请注意,Windows通常不会发送消息。这些是当应用程序的消息循环从消息队列中提取消息时检索的异步消息。例如,当调用GetMessage
时,消息队列为空,并且存在无效区域,则生成WM_-PAINT
消息
上述语句的例外情况是调用UpdateWindow
和RedrawWindow
时。在这些场景中,WM_PAINT
消息是同步发送的。从:
当系统或其他应用程序请求绘制应用程序窗口的一部分时,会发送WM_PAINT消息。当调用UpdateWindow或RedrawWindow函数时,或当应用程序使用GetMessage或PeekMessage函数获得WM_PAINT消息时,通过DispatchMessage函数发送消息