BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
返回值: 如果函数调用成功,返回非零值;否则 返回 0
参数:pWndInsertAfter 标示Z方向上在本CWnd对象之前的CWnd 对象。本参数可以是指向CWnd对象的指针,或以下值: wndBottom 把本窗口放在Z方向的最底端。如果这个CWnd对象是最上方窗口,这个窗口就失去其最上方的状态 系统会把此窗口放在所有其他窗口的下面 wndTop 把本窗口放在Z方向上的最上方 wndTopMost 把窗口放在所有其他非置顶窗口的上面。即使窗口无效,依然会维持置顶状态 wndNoTopMost重新把窗口放在所以非置顶窗口的最前面(即,放在所有置顶窗口的后面)。
如果已经存在一个nontopmost窗口,则该标志无效 x 指定窗口左边的新位置y 指定窗口上侧的新位置cx 指定窗口新的宽度cy 指定窗口新的高度nFlags 指定尺寸和位置选项。该参数可以是下列参数的组合 SWP_DRAWFRAME 绕窗口画框
SWP_FRAMECHANGED 发送 WM_NCCALCSIZE 消息到窗口,即使窗口尺寸没有改变。如果未指定该参 数, WM_NCCALCSIZE 只会在窗口尺寸改变时被发送 SWP_HIDEWINDOW 隐藏窗口 SWP_NOACTIVATE 不激活窗口。如果该参数未被指定,窗口被激活,且按照 pWndInsertAfter 参数显示
SWP_NOCOPYBITS 丢弃客户区的所有内容. 如果未指定该标志,客户区有效的内容会被保存,在窗口尺寸改变或位置改变后重绘 SWP_NOMOVE 保留当前位置(x,y的值) SWP_NOOWNERZORDER 不改变宿主窗口在Z方向上的位置 SWP_NOREDRAW 不重绘改变的内容 SWP_NOREPOSITION 同 SWP_NOOWNERZORDER. SWP_NOSENDCHANGING 阻止窗口接受WM_WINDOWPOSCHANGING 消息 SWP_NOSIZE 保留当前尺寸(忽略cx、cy 参数). SWP_NOZORDER 保留当前顺序(忽略 pWndInsertAfter). SWP_SHOWWINDOW 显示窗口
备注 如果设置pWndInsertAfter &wndTopMost ,且SWP_NOZORDER 不被设置,可以使窗口放在所有置顶窗口的最上方 要创建置顶窗口,除了调用SetWindowPos 设置pWndInsertAfter &wndTopMost,也可在创建窗体时设置WS_EX_TOPMOST 样式
