1. 程式人生 > >windows 視窗實現隱藏工作列預覽

windows 視窗實現隱藏工作列預覽

      通常來講,一個windows 視窗就會在工作列下面擁有一個預覽視窗,這是一件多麼和諧的事情呀。本來不用過多處理,而且使用者也比較希望通過小視窗實現預覽切換,但是,ux為了使用者體驗,就是不希望工作列出現相應的預覽視窗。美其名曰體驗,實則實在是爭執不過他們(主要懶得理)。不管是人在江湖,身不由己,還是心甘情願為ux服務。該實現的功能還是要實現的,總不能拿刀架在人家脖子上吧,這世界總是比較和諧的。

     閒話少說,步入正題。

     實現這種需求,記得有幾種方式,一種是建立視窗的時候,設定WS_EX_TOOLWINDOW的屬性。此種方式副作用主要有兩個,其一是視窗可以拖到工作列以下,然後鬆開拖動後,視窗再也無法顯示出來了,解決方式當然是設定視窗HWND_TOPMOST。可是這樣視窗會一直保持在最前端,進而影響其他視窗的層級順序,出現不想隱藏的隱藏了,想顯示的又被遮擋的尷尬局面,因此不算是一個比較好的解決方案。另外一個壞處是當開啟其他的視窗時,最小化視窗時,該視窗也會跟著隱藏。其實也不是真正的隱藏,只是視窗的Z_order層級發生了變化,躲到了別的top視窗後面了。解決方案同樣設定視窗HWND_TOPMOST。但該屬性萬不得已還是不能設定的。

     另外一種是比較好的方式,目前已經實現,似乎還沒發現什麼副作用。即建立一個視窗,不顯示該視窗,以此視窗作為待隱藏預覽視窗的父視窗,經檢驗能比較好的解決問題。以後相關問題,再繼續深入探討。