PC Camera 开发日志(二十三)------ WND的Z-Order

来源:互联网 发布:java读取linux文件 编辑:程序博客网 时间:2024/05/16 10:16

老实说我每次使用SetWindowPos()这个函数的第一个参数就是来设置Z-Order的。而我每次基本都不写这个参数。记起来上次去面试好像被问道这个问题。

所以今天花费一点时间搜索一下。

============= Explanation One ======================

Z   Order  
  The   Z   order   of   a   window   indicates   the   window's   position   in   a   stack   of   overlapping   windows.   This   window   stack   is   oriented   along   an   imaginary   axis,   the   z-axis,   extending   outward   from   the   screen.   The   window   at   the   top   of   the   Z   order   overlaps   all   other   windows.   The   window   at   the   bottom   of   the   Z   order   is   overlapped   by   all   other   windows.    
  The   system   maintains   the   Z   order   in   a   single   list.   It   adds   windows   to   the   Z   order   based   on   whether   they   are   topmost   windows,   top-level   windows,   or   child   windows.   A   topmost   window   overlaps   all   other   non-topmost   windows,   regardless   of   whether   it   is   the   active   or   foreground   window.   A   topmost   window   has   the   WS_EX_TOPMOST   style.   All   topmost   windows   appear   in   the   Z   order   before   any   non-topmost   windows.   A   child   window   is   grouped   with   its   parent   in   Z   order.  
  When   an   application   creates   a   window,   the   system   puts   it   at   the   top   of   the   Z   order   for   windows   of   the   same   type.   You   can   use   the   BringWindowToTop   function   to   bring   a   window   to   the   top   of   the   Z   order   for   windows   of   the   same   type.   You   can   rearrange   the   Z   order   by   using   the   SetWindowPos   and   DeferWindowPos   functions.    
  The   user   changes   the   Z   order   by   activating   a   different   window.   The   system   positions   the   active   window   at   the   top   of   the   Z   order   for   windows   of   the   same   type.   When   a   window   comes   to   the   top   of   Z   order,   so   do   its   child   windows.   You   can   use   the   GetTopWindow   function   to   search   all   child   windows   of   a   parent   window   and   return   a   handle   to   the   child   window   that   is   highest   in   Z   order.   The   GetNextWindow   function   retrieves   a   handle   to   the   next   or   previous   window   in   Z   order.  

================== Expalanation Two ===============

Z轴是垂直于你的显示器平面的。方向是从里向外的。通常情况下是以桌面为底的,其他窗口就象羊肉串一样串在这跟轴上。但和羊肉串不一样的是我们可以通过BringWindowToTop、SetWindowsPos、SetForegroundWindows来该变窗口在Z轴的位置

================== Expalanation Three ===============

http://writeblog.csdn.net/PostEditPlain.aspx

这个是开源的代码,估计能很好的说明我们要理解的了。其他找到的解释都差不多。

To Be Continued..........

原创粉丝点击