admin 管理员组

文章数量: 1086019


2024年3月28日发(作者:dialogues读什么)

SetWindowPos

函数原型

BOOL SetWindowPos(HWND hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int

cy,UNIT.Flags);

函数功能

该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。

子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别

最高,并且被设置为Z序的第一个窗口。

参数

hWnd:窗口句柄。

hWndlnsertAfter:在z序中的位于被置位的窗口前的窗口句柄。该参数必须为一个窗口句柄

,或下列值之一:

HWND_BOTTOM:将窗口置于Z序的底部。如果参数hWnd标识了一个顶层窗口,则窗口

失去顶级位置,并且被置在其他窗口的底部。

HWND_NOTOPMOST:将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。如果

窗口已经是非顶层窗口则该标志不起作用。

HWND_TOP:将窗口置于Z序的顶部。

HWND_TOPMOST:将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级

位置。

查看该参数的使用方法,请看说明部分。

x:以客户坐标指定窗口新位置的左边界。

Y:以客户坐标指定窗口新位置的顶边界。

cx:以像素指定窗口的新的宽度。

cy:以像素指定窗口的新的高度。

uFlags:窗口尺寸和定位的标志。该参数可以是下列值的组合:

SWP_ASNCWINDOWPOS:如果调用进程不拥有窗口,系统会向拥有窗口的线程发出需求

。这就防止调用线程在其他线程处理需求的时候发生死锁。

SWP_DEFERERASE:防止产生WM_SYNCPAINT消息。

SWP_DRAWFRAME:在窗口周围画一个边框(定义在窗口类描述中)。

SWP_FRAMECHANGED:给窗口发送WM_NCCALCSIZE消息,即使窗口尺寸没有改变也

会发送该消息。如果未指定这个标志,只有在改变了窗口尺寸时才发送WM_NCCALCSIZE。


本文标签: 顶层 参数 线程 尺寸 位置