调整大小的 Windows

当用户选择窗口菜单命令(如“大小”和“最大化”)或应用程序调用函数(如 SetWindowPos 函数)时,系统会更改窗口的大小。 当窗口更改大小时,系统假定以前公开的窗口部分的内容不会受到影响,并且不需要重新绘制。 系统仅使窗口的新公开部分失效,从而节省应用程序处理最终 WM_PAINT 消息的时间。 在这种情况下,在缩小窗口大小时,不会生成 WM_PAINT

对于某些窗口,对窗口大小的任何更改都使内容失效。 例如,调整时钟面以适应其窗口内的时钟应用程序的时钟必须在窗口更改大小时重新绘制时钟。 若要强制系统在进行垂直、水平或同时进行垂直和水平更改时使窗口的整个工作区失效,应用程序必须在注册窗口类时指定CS_VREDRAW或CS_HREDRAW样式,或同时指定这两者。 每当用户或应用程序更改窗口的大小时,属于具有这些样式的窗口类的任何窗口都会失效。