设置窗口的z-order总是在最底部

时间:2023-03-09 15:09:50
设置窗口的z-order总是在最底部

想让窗口置顶,很简单,只需要在SetWindowPos中指定 HWND_TOPMOST就OK了,

但是如果想要窗口始终位于最底端,Windows却没有提供接口。

不过呢,Windows提供了一个消息WM_WINDOWPOSCHANGING,

这个消息给了我们一个机会,当窗口的位置包括Z-order发生改变之前,让我们有机会修改窗口的属性。

下面的代码片段可以解决我遇到的问题:

1 if (uMsg == WM_WINDOWPOSCHANGING)

 {
         WINDOWPOS* wndPos = reinterpret_cast<WINDOWPOS*>(lParam);
         wndPos->hwndInsertAfter = HWND_BOTTOM;
 }