设置窗口的z-order总是在最底部
想让窗口置顶,很简单,只需要在SetWindowPos中指定 HWND_TOPMOST就OK了,
但是如果想要窗口始终位于最底端,Windows却没有提供接口。
不过呢,Windows提供了一个消息WM_WINDOWPOSCHANGING,
这个消息给了我们一个机会,当窗口的位置包括Z-order发生改变之前,让我们有机会修改窗口的属性。
下面的代码片段可以解决我遇到的问题:
1 if (uMsg == WM_WINDOWPOSCHANGING)
2 {
3 WINDOWPOS* wndPos = reinterpret_cast<WINDOWPOS*>(lParam);
4 wndPos->hwndInsertAfter = HWND_BOTTOM;
5 }
3 WINDOWPOS* wndPos = reinterpret_cast<WINDOWPOS*>(lParam);
4 wndPos->hwndInsertAfter = HWND_BOTTOM;
5 }