winuser.h) (WINDOWPOS 结构

包含有关窗口大小和位置的信息。

语法

typedef struct tagWINDOWPOS {
  HWND hwnd;
  HWND hwndInsertAfter;
  int  x;
  int  y;
  int  cx;
  int  cy;
  UINT flags;
} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;

成员

hwnd

类型:HWND

窗口的句柄。

hwndInsertAfter

类型:HWND

窗口的 Z 顺序位置 (从前到后的位置) 。 此成员可以是放置此窗口后面的窗口的句柄,也可以是 SetWindowPos 函数列出的特殊值之一。

x

类型: int

窗口左边缘的位置。

y

类型: int

窗口上边缘的位置。

cx

类型: int

窗口宽度(以像素为单位)。

cy

类型: int

窗口高度(以像素为单位)。

flags

类型: UINT

窗口位置。 此成员可以是以下一个或多个值。

含义
SWP_DRAWFRAME
0x0020
在窗口的类说明) 围绕窗口绘制 (定义的框架。 与 SWP_FRAMECHANGED 标志相同。
SWP_FRAMECHANGED
0x0020
向窗口发送 WM_NCCALCSIZE 消息,即使窗口的大小未更改也是如此。 如果未指定此标志,则仅在更改窗口大小时发送 WM_NCCALCSIZE
SWP_HIDEWINDOW
0x0080
隐藏窗口。
SWP_NOACTIVATE
0x0010
不激活窗口。 如果未设置此标志,则会激活窗口并将其移动到最顶层或非最顶部组 (的顶部,具体取决于 hwndInsertAfter 成员) 的设置。
SWP_NOCOPYBITS
0x0100
丢弃工作区的整个内容。 如果未指定此标志,则会在调整窗口大小或重新定位后保存工作区的有效内容并将其复制回工作区。
SWP_NOMOVE
0x0002
保留当前位置 (忽略 xy 成员) 。
SWP_ NOOWNERZORDER
0x0200
不更改所有者窗口在 Z 顺序中的位置。
SWP_NOREDRAW
0x0008
不重绘更改。 如果设置了此标志,则不执行任何形式的重绘。 这适用于工作区、非工作区 (包括标题栏和滚动条) ,以及由于窗口移动而发现父窗口的任何部分。 设置此标志后,应用程序必须显式使需要重绘的窗口和父窗口的任何部分失效或重绘。
SWP_NOREPOSITION
0x0200
不更改所有者窗口在 Z 顺序中的位置。 与 SWP_NOOWNERZORDER 标志相同。
SWP_NOSENDCHANGING
0x0400
阻止窗口接收 WM_WINDOWPOSCHANGING 消息。
SWP_NOSIZE
0x0001
保留当前大小 (忽略 cxcy 成员) 。
SWP_NOZORDER
0x0004
保留当前 Z 顺序 (忽略 hwndInsertAfter 成员) 。
SWP_SHOWWINDOW
0x0040
显示“接收端口跟踪选项” 窗口。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 winuser.h (包括 Windows.h)

请参阅

概念性

EndDeferWindowPos

引用

SetWindowPos

WM_NCCALCSIZE

Windows