1. 程式人生 > >Windows執行機理——視窗和控制代碼

Windows執行機理——視窗和控制代碼

Windows執行機理這系列文章都是來至於《零基礎學Qt4程式設計》——吳迪,個人覺得寫得很好,所以進行了搬運和個人加工

1. 視窗

視窗是Windows應用程式中一個非常重要的元素,一個Windows應用程式至少要有一個視窗,稱為主視窗,視窗是指現在是螢幕上面的一快矩形區域,是Windows應用程式與使用者進行互動的介面。利用視窗,可以接收使用者的輸入及顯示輸出。

一個應用程式視窗通常包含標題欄,選單欄,系統選單,最小化框,最大化框,可調邊框,還有滾動條,一個典型的視窗可以入下圖所示


視窗可以分為客戶區和非客戶區,客戶區是視窗的一部分,應用程式通常在客戶區中顯示文字或繪製圖形。標題欄、選單欄、系統選單、最小化和最大化,可調系統邊框為視窗的非客戶區,他們有windows來管理,而應用程式則主要管理客戶區的外觀及操作。

視窗可以有一個父視窗,有父視窗的視窗稱為子視窗,另外,對話方塊和訊息框也是一種視窗,在對話方塊上面還包含許多子視窗,這些子視窗的形式有按鈕,單選按鈕,複選框,組框,文字編輯框等。

此外,在我們啟動Windows系統後,我們的創面也是一個視窗,稱為桌面視窗,是位於最上層的視窗,有Windows系統建立和管理。

2.控制代碼

控制代碼:Handle。Windows具有很強的面向物件德行,Windows物件有很多,碧如桌面,讀取所使用的程式等等。那麼如何區分這些東西,答案就是使用控制代碼。控制代碼是引用不同Windows物件的方式,可以使用Windows控制代碼,檔案控制代碼,分配記憶體控制代碼,圖形控制代碼等,系統在建立這次資源的時候回為期分配記憶體,並返回標識這些西苑的標識號,這個標識號就是控制代碼,實際上,我們可以將控制代碼看做是指標。

在使用控制代碼之前,必須先建立他們,當不在使用時,應當及時銷燬,如果不銷燬他們,最終將到時資源洩露,資源洩露有可能導致系統崩潰,所以,務必確保在適當的時候銷燬不在使用的控制代碼。

在Windows應用程式中,視窗是通過控制代碼HWND來標識的,我們要對某個視窗進行操作,首先就要獲取到這個視窗的控制代碼,這就是視窗和控制代碼的聯絡。