RECT rect; ::GetClientRect(m_hWnd, &rect);//获取窗口客户区的坐标 BOOL b=::InvalidateRect(m_hWnd,&rect,TRUE); //使客户区矩形区域的图形变得无效 /* 使原来画的图像无效 参数1:HWND hWnd 窗口句柄 如果为NULL,则系统将在函数返回前重新绘制所有的窗口, 然后发送 WM_ERASEBKGND 和 WM_PAINT 给窗口过程处理函数 参数2:CONST RECT *lpRect 无效区域的矩形指针 如果为NULL,全部的窗口客户区域将被增加到更新区域中 参数3:BOOL bErase 指出无效矩形被标记为有效后,是否重画该区域,重画时用预先定义好的画刷。当指定TRUE时需要重画 返回值:函数成功则返回非零值,否则返回零值。 说明:被标记为无效矩形的区域直到WM_PAINT消息被处理完之后才会消失,或者使用ValidateRect(),ValidateRgn()函数来使之有效。 InvalidateRect发送WM_PAINT的形式是一种POST形式(即发送到程序消息队列),而不是像SendMessage一样直接让操作系统带着消息,调用WndProc 可以在后面接着使用UpdateWindow()直接绕过程序消息队列直接发送消息到WndProc函数,来重绘窗口 */
标签:窗口,无效,区域,GDI,矩形,WM,InvalidateRect From: https://www.cnblogs.com/liming19680104/p/17398138.html