MFC设置窗口在Z轴上的位置

石小疯  论坛元老 | 2024-6-23 11:28:03 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1010|帖子 1010|积分 3030

函数原型:
  1. BOOL CWnd::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:将窗口重新定位到全部非顶层窗口的顶部(在全部顶层窗口之下)。这个标记对那些已经黑白顶层窗口的窗口没有作用。
x:指定窗口左边的新位置。
y:指定窗口顶部的新位置。
cx:指定窗口的新宽度。
cy:指定窗口的新高度。
nFlags:指定大小和位置选项。这个参数可以是下列值的组合:


  • SWP_DRAWFRAME:围绕窗口画出边框(在创建窗口的时间界说)。
  • SWP_FRAMECHANGED:向窗口发送一条WM_NCCALCSIZE消息,即使窗口的大小不会改变。如果没有指定这个标记,则仅当窗口的大小发生变革时才发送WM_NCCALCSIZE消息。
  • SWP_HIDEWINDOW:隐藏窗口。
  • SWP_NOACTIVATE:不激活窗口。如果没有设置这个标记,则窗口将被激活并移动到顶层或非顶层窗口组(依赖于pWndInsertAfter参数的设置)的顶部。
  • 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:显示窗口。
设置窗口Z轴位置为最顶层:
  1. SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表