WINDOWPOS数据结构具有如下形式:
typedef struct tagWINDOWPOS
{ /* wp */
HWND hwnd;
HWND hwndInsertAfter;
int x;
int y;
int cx;
int cy;
UINT flags;
} WINDOWPOS;
WINDOWPOS结构包含了有关窗口的大小和位置的信息。
成员:
hwnd | 标识窗口。 |
hwndInsertAfter | 标识了一个窗口,本窗口将被放在这个窗口的后面。 |
x | 指定了窗口的左边界的位置。 |
y | 指定了窗口的右边界的位置。 |
cx | 指定了窗口的宽度,以象素为单位。 |
cy | 指定了窗口的高度,以象素为单位。 |
flags | 指定了窗口位置的选项。这个成员可以是下列值之一:
· | SWP_DRAWFRAME | 画出窗口的边框(在窗口类的描述中定义)。窗口接收到一个WM_NCCALCSIZE消息。 | · | SWP_FRAMECHANGED | 向窗口发送一个WM_NCCALCSIZE消息,即使没有改变窗口的大小。如果没有指定这个标志,仅当窗口的大小发生变化时才发送WM_NCCALCSIZE消息。 | · | SWP_HIDEWINDOW | 隐藏窗口。 | · | SWP_NOACTIVATE | 不激活窗口。 | · | SWP_NOCOPYBITS | 废弃客户区的全部内容。如果没有指定这个标志,将会保存客户区的有效内容并在窗口被改变大小或重定位以后回送到客户区。 | · | SWP_NOMOVE | 保留当前位置(忽略x和y成员)。 | · | SWP_NOOWNERZORDER | 不改变所有者窗口在Z轴上的顺序。 | · | SWP_NOSIZE | 保留当前大小(忽略cx和cy成员)。 | · | SWP_NOREDRAW | 不重画改变的内容。 | · | SWP_NOREPOSITION | 与SWP_NOOWNERZORDER相同。 | · | SWP_NOSENDCHANGING | 防止窗口接收WM_WINDOWPOSCHANGING消息。 | · | SWP_NOZORDER | 保留当前顺序(忽略hwndInsertAfter成员) | |