Windows将WM_GETMINMAXINFO消息发送到其大小或位置即将更改的窗口。例如,当用户从窗口菜单中选择“移动”或“大小”命令或单击大小边框或标题栏时,将发送该消息;当应用程序调用{??989796011}移动或调整窗口大小时,也会发送该消息。WM_GETMINMAXINFO包含指向MINMAXINFO结构的指针,其中包含窗口的默认最大化大小和位置,以及默认的最小和最大跟踪大小。应用程序可以通过处理WM_GETMINMAXINFO并设置MINMAXINFO的相应成员来覆盖默认值。窗口必须具有WS_THICKFRAME或WS_CAPTION样式才能接收WM_GETMINMAXINFO。具有WS_THICKFRAME样式的窗口在窗口创建过程中接收此消息,以及何时被移动或调整大小。
Windows将WM_WINDOWPOSCHANGING消息发送到其大小,位置,Z位置或显示状态即将更改的窗口。该消息包括指向WINDOWPOS结构的指针,该结构指定窗口的新大小,位置,Z顺序中的位置和显示状态。通过设置WINDOWPOS的成员,应用程序可能会影响窗口的新大小,位置和外观。
在更改窗口的大小,位置,Z位置或显示状态后,Windows会将WM_WINDOWPOSCHANGED消息发送到窗口。该消息包括指向WINDOWPOS的指针,通知窗口其新尺寸,位置,Z位置,以及显示状态。设置使用WM_WINDOWPOSCHANGED传递的WINDOWPOS结构的成员对窗口没有影响。必须处理WM_SIZE和WM_MOVE消息的窗口必须通过WM_WINDOWPOSCHANGED到DefWindowProc函数;否则,Windows不向窗口发送WM_SIZE和WM_MOVE消息。
当窗口创建或大小时,Windows会将WM_NCCALCSIZE消息发送到窗口。Windows使用消息来计算窗口的客户区域的大小以及客户区域相对于窗口左上角的位置。窗口通常将此消息传递到默认窗口过程;但是,当窗口大小时,此消息可用于定制窗口的非客户区域或保留客户区域的部分的应用程序。有关窗口大小的更多信息,请参阅绘画.