首页 > 编程知识 正文

round robin test,concept whitening for

时间:2023-05-04 22:44:15 阅读:62170 作者:2326

我们先来看看函数结构:

boolinvalidaterect(hwndhwnd,//handleofwindowwithchangedupdateregionconstrect * LP rect,/addressofrectanglecoordinatect

1: 参数说明:包含要更新的客户区域的表单的句柄。 如果为NULL,则在函数返回之前重新绘制所有窗口,并将hwnd:WM_ERASEBKGND发送到窗口处理函数。

2: WM_NCPAINT无效区域中的矩形是存储矩形大小的结构指针。 如果为NULL,则所有联系人客户区域都将添加到更新区域。

3: lpRect:如果参数bErase为TRUE,系统将在您绘制之前用背景色覆盖选定区域一次。 默认背景颜色为白色,可以通过设置BRUSH来更改背景颜色。 如果为FALE,则保存当前背景色。 我认为这并不是不重新绘制背景,而是用原始背景颜色重新绘制背景。 因此,调用SetBkColor ()不会改变背景颜色。 否则,将此参数设置为TRUE。

如果bErase:函数成功,则返回非零值;否则返回零值。返回值:

此函数的作用是禁用指定的RECT空间并将WM_PAINT消息放在系统的消息队列中,但由于WM_PAINT消息的优先级较低,因此必须在消息队列中的其他消息发送后再处理因此,调用invalidateRect ) )并不会立即重新绘制,除非系统处理了它或有来自其他人的WM_PAINT消息。

说明:

调用UpdateWindow函数时,WM_PAINT将直接发送到目标窗口,并立即重新绘制该窗口。 其实正在发送WM_PAINT消息。 只是一个用sendMessage ()发送,另一个用PostMessage () )发送。

如果想要立即重绘,调用UpdateWindow();

处理WM_PAINT消息时,消息队列中的所有无效区域将累积、重新呈现在一起,并丢弃所有WM_PAINT消息。 所以,无论你发送的WM_PAINT是快是慢,当它被处理成WM_PAINT消息时,如果它们在队列中,就会累计它们的无效区域,并一起绘图。 很明显,效率提高了!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。