窗口的Z次序,類型

窗口的Z次序表明了重疊窗口堆中窗口的位置,這個窗口堆是按一個假想的軸定位的,這個軸就是從屏幕向外伸展的Z軸。Z次序最上面的窗口覆蓋所有其它的窗口,Z次序最底層的窗口被所有其它的窗口覆蓋。應用程序設置窗口在Z次序中的位置是通過把它放在一個給定窗口的後面,或是放在窗口堆的頂部或底部。

     Windows系統管理三個獨立的Z次序——一個用於頂層窗口、一個用於兄弟窗口,還有一個是用於最頂層窗口。最頂層窗口覆蓋所有其它非最頂層窗口,而不管它是不是活動窗口或是前臺窗口。應用程序通過設置WS_EX_TOPMOST風格創建最頂層窗口。

     一般情況下,Windows系統把剛剛創建的窗口放在Z次序的頂部,用戶可通過激活另外一個窗口來改變Z次序;Windows系統總是把活動的窗口放在Z次序的頂部,應用程序可用函數BringWindowToTop把一個窗口放置到Z次序的頂部。函數SetWindowPos和DeferWindowPos用來重排Z次序。


兄弟窗口

     共享同一個父窗口的多個子窗口叫兄弟窗口。

活動窗口

     活動窗口是應用程序的頂層窗口,也就是當前使用的窗口。只有一個頂層窗口可以是活動窗口,如果用戶使用的是一個子窗口,Windows系統就激活與這個子窗口相應的頂層窗口。

    任何時候系統中只能有一個頂層窗口是活動的。用戶通過單擊窗口(或其中的一個子窗口)、使用ALT+TAB或ALT+ESC組合鍵來激活一個頂層窗口,應用程序則調用函數SetActiveWindow來激活一個頂層窗口。

前臺窗口和後臺窗口

       在Windows系統中,每一個進程可運行多個線程,每個線程都能創建窗口。創建正在使用窗口的線程稱之爲前臺線程,這個窗口就稱之爲前臺窗口。所有其它的線程都是後臺線程,由後臺線程所創建的窗口叫後臺窗口。

      用戶通過單擊一個窗口、使用ALT+TAB或ALT+ESC組合鍵來設置前臺窗口,應用程序則用函數SetForegroundWindow設置前臺窗口。如果新的前臺窗口是一個頂層窗口,那麼Windows系統就激活它,換句話說,Windows系統激活相應的頂層窗口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章