windowPLACEMENT 结构 (winuser.h)
包含有关窗口在屏幕上的位置的信息。
语法
typedef struct tagWINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
RECT rcDevice;
} WINDOWPLACEMENT;
成员
length
类型: UINT
结构的长度(以字节为单位)。 在调用 GetWindowPlacement 或 SetWindowPlacement 函数之前,请将此成员设置为 sizeof(WINDOWPLACEMENT)
。
如果未正确设置此成员,则 GetWindowPlacement 和 SetWindowPlacement 将失败。
flags
类型: UINT
控制最小化窗口的位置以及还原窗口的方法的标志。 此成员可以是以下一个或多个值。
showCmd
类型: UINT
窗口的当前显示状态。 它可以是在 ShowWindow 函数的 nCmdShow 参数中指定的任何值。
ptMinPosition
类型: POINT
窗口最小化时窗口左上角的坐标。
ptMaxPosition
类型: POINT
窗口最大化时窗口左上角的坐标。
rcNormalPosition
类型: RECT
窗口处于还原位置时的窗口坐标。
rcDevice
备注
如果窗口是没有 WS_EX_TOOLWINDOW 窗口样式的顶级窗口,则由以下成员表示的坐标位于工作区坐标中: ptMinPosition、 ptMaxPosition 和 rcNormalPosition。 否则,这些成员位于屏幕坐标中。
工作区坐标与屏幕坐标的不同之处在于,它们考虑应用程序工具栏的位置和大小 (包括任务栏) 。 工作区坐标 (0,0) 是工作区区域的左上角,即应用程序工具栏未使用的屏幕区域。
WINDOWPLACEMENT 结构中使用的坐标只能由 GetWindowPlacement 和 SetWindowPlacement 函数使用。 将工作区坐标传递给预期屏幕坐标 (的函数(如 SetWindowPos) )将导致窗口出现在错误的位置。 例如,如果任务栏位于屏幕顶部,则使用 GetWindowPlacement 保存窗口坐标并使用 SetWindowPos 还原窗口坐标会导致窗口显示为“爬行”屏幕。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
请参阅
概念性
引用