setwindowpos setwindowpos用法


setwindowpos setwindowpos用法

文章插图
大家好,小跳来为大家解答以上的问题 。setwindowpos用法,setwindowpos这个很多人还不知道,现在让我们一起来看看吧!
1、BOOL SetWindowPos(HWND hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags)hwnd是你要设置的窗口的句柄,windows会为每个窗口分配一个句柄,只有获取了窗口的句柄,你才有权对窗口进行操作 。
2、hWndInsertAfter取值是一个窗口句柄,是指你要把他放在哪个窗口的z序列前面,z序列是窗口在屏幕上的虚拟垂直位置 , z序列最顶层就是你看到的屏幕当前正活动的窗口 。
3、除了句柄,还可以取以下值HWND_BOTTOM:将窗口置于Z序的底部 。
4、如果参数hWnd标识了一个顶层窗口,则窗口失去顶级位置,并且被置在其他窗口的底部 。
5、HWND_NOTOPMOST:将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后) 。
6、如果窗口已经是非顶层窗口则该标志不起作用 。
7、HWND_TOP:将窗口置于Z序的顶部 。
8、HWND_TOPMOST:将窗口置于所有非顶层窗口之上 。
9、即使窗口未被激活窗口也将保持顶级位置 。
10、x是窗口的左边界位置 。
11、y是窗口的右边界位置cx是窗口的宽度cy是窗口的高度flags可以取以下值SWP_ASNCWINDOWPOS:如果调用进程不拥有窗口,系统会向拥有窗口的线程发出需求 。
12、这就防止调用线程在其他线程处理需求的时候发生死锁 。
13、SWP_DEFERERASE:防止产生WM_SYNCPAINT消息 。
14、SWP_DRAWFRAME:在窗口周围画一个边框(定义在窗口类描述中) 。
15、SWP_FRAMECHANGED:给窗口发送WM_NCCALCSIZE消息 , 即使窗口尺寸没有改变也会发送该消息 。
16、如果未指定这个标志,只有在改变了窗口尺寸时才发送WM_NCCALCSIZE 。
17、SWP_HIDEWINDOW;隐藏窗口 。
18、SWP_NOACTIVATE:不激活窗口 。
19、如果未设置标志,则窗口被激活,并被设置到其他最高级窗口或非最高级组的顶部(根据参数hWndlnsertAfter设置) 。
20、SWP_NOCOPYBITS:清除客户区的所有内容 。
21、如果未设置该标志,客户区的有效内容被保存并且在窗口尺寸更新和重定位后拷贝回客户区 。
22、SWP_NOMOVE:维持当前位置(忽略X和Y参数) 。
23、SWP_NOOWNERZORDER:不改变z序中的所有者窗口的位置 。
24、SWP_NOREDRAW:不重画改变的内容 。
25、如果设置了这个标志,则不发生任何重画动作 。
26、适用于客户区和非客户区(包括标题栏和滚动条)和任何由于窗回移动而露出的父窗口的所有部分 。
27、如果设置了这个标志,应用程序必须明确地使窗口无效并区重画窗口的任何部分和父窗口需要重画的部分 。
28、SWP_NOREPOSITION;与SWP_NOOWNERZORDER标志相同 。
29、SWP_NOSENDCHANGING:防止窗口接收WM_WINDOWPOSCHANGING消息 。
30、SWP_NOSIZE:维持当前尺寸(忽略cx和Cy参数) 。
31、SWP_NOZORDER:维持当前Z序(忽略hWndlnsertAfter参数) 。
32、SWP_SHOWWINDOW:显示窗口 。
【setwindowpos setwindowpos用法】本文到此分享完毕,希望对大家有所帮助 。