MFC中的Z轴次序是就像数学三维坐标轴中的Z轴,表示x方向,y方向之外的第三个方向;
例如:我们利用快捷键“Ctrl+e”打开文件管理器,每按一次快捷键,则创建一个新的窗口;我们打开三个窗口,我们点击哪个窗口,则该窗口就呈现在最前面;这种效果就是设置窗口的Z轴次序可以达到。
我们可以利用SetWindowPos进行设置,其函数声明如下:
BOOL SetWindowPos(
HWND hWnd,
HWND hWndInsertAfter,
int X,
int Y,
int cx,
int cy,
UINT uFlags
);
主要参数:
- hWnd
窗口句柄; - hWndInsertAfter
设置窗口Z轴次序的特殊句柄,只能是以下几个值:
- HWND_BOTTOM
Z轴方向的最底端 - HWND_NOTOPMOST
介于最底端和非最顶端之间 - HWND_TOP
在所有窗口的最前端 - HWND_TOPMOST
位于最前端的窗口之下
- HWND_BOTTOM
- uFlags
- SWP_NOACTIVATE
激活该窗口 - SWP_NOMOVE
保持当前窗口位置,忽略X and Y 参数 - SWP_NOSIZE
保持大小不变,忽略Cx 和Cy参数 - SWP_NOZORDER
保持当前窗口的Z序列,忽略hWndInsertAfter参数 - SWP_SHOWWINDOW
显示窗口
- SWP_NOACTIVATE
SetWindowPos可以设置窗口大小,位置,Z轴次序,其函数功能比较强大,这里主要介绍Z轴的设置;更多参数详细信息可以参考MSDN介绍;