windows窗口關係

窗口關係

一個窗口有不少方式關聯到用戶或者其它的窗口。一個窗口多是「自有窗口?」,前景窗口或者背景窗口。一個窗口總有一個 ‘z序’ 用以關聯到其它窗口。什麼是‘z序’,下面會簡單的敘述一下windows

背景和前景窗口

每一個進程能夠有多個可執行的線程。每一個線程均可以建立窗口。一個線程建立的了一個窗口,而且這個窗口時用戶正在工做和使用的,那麼這個線程叫作前景線程,而這個窗口就是前景窗口。而全部其餘的線程都是背景線程,而由背景線程建立的窗口都稱做背景窗口。線程

每一個線程都有一個優先級,這個優先級決定了線程得到的cpu時間的數量。儘管一個應用程序能夠設置它線程的優先級,可是前景線程的優先級總比背景線程的優先級要高。由於前景線程有較高的優先級,因此它比背景線程擁有更多的cpu時間。進程

被擁有窗口

一個層疊窗口或者彈出窗口都可以被其它的層疊窗口或者彈出窗口所擁有。ip

  • 一個被擁有的窗口在z序上必需要在擁有者之上
  • 系統自動的銷燬一個被擁有的窗口當擁有者窗口銷燬的時候
  • 被擁有會隱藏當擁有者窗口最小化的時候

Dialog對話框和消息對話框默認是被擁有窗口。應用程序在調用Dialog對話框和消息對話框時將被指定爲擁有者窗口。get

z序

一個窗口z序指示(顯示)了窗口在層疊窗口棧中的位置。(我明白了,這個z是立體空間裏面的z軸座標, x、y、z座標)。一個窗口在z序的頂端,那麼它將覆蓋在全部窗口的上面。而一個窗口若是在z序的底端,那麼全部的窗口都層疊在這個窗口之上。io

用戶能夠經過激活窗口來改變窗口的z序。系統會將激活窗口放置在z序的頂端。當一個窗口變爲z序的頂端的時候,那麼它的子窗口也會變爲z序的頂端程序

參考:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632599(v=vs.85).aspx#relationshipscpu

相關文章
相關標籤/搜索