Windows基礎概念

來源:互聯網
上載者:User

標籤:des   使用   io   strong   檔案   資料   2014   ar   

視窗

每個GUI應用程式都有一個視窗,它由多個部分組成。 包括標題列,[a1] 功能表列,客戶區[a2] ,狀態列等

對話方塊是視窗,還是控制項?

視窗類別

每個視窗都對應一個視窗類別。 視窗類別定義了功能表項目,背景,表徵圖,滑鼠指標樣式,和視窗訊息處理函數。  每個視窗類別都對應一個訊息處理函數,即每個視窗都有自己的訊息處理函數。

 

應用程式在建立視窗前,需向系統註冊視窗類別,或是用系統已定義好的視窗類別。

 

訊息和訊息處理函數
  1. 訊息的分類: COMMAND 和  WM_ ,還有一類是通知型的訊息,以及控制項訊息?
  2.  

 

控制項

控制項,實際是一種特殊的視窗,它是一個子視窗。

Windows控制項分為user controls (使用者控制項) 和 common controls(通用控制項)

 

Windows控制項被放置在其他動態庫中。如:ComCtl32.dll

 

應用程式可以直接使用這些控制項而不需要重新定義。

控制項分很多種,常用的包括:

         文字框(Edit, RichEdit)

按鈕(Button,Check Boxes,Group Boxes,Push Buttons,Radio Buttons)

下拉式功能表(comboBox)

列表框(List Box)

分組列表(List View)

分頁(Pager)

進度條(Process Bar)

屬性頁面(Property Sheet), 

工作條(ToolBar) ,

樹(Tree View

控制項有特定的視窗樣式,現實設定,和訊息處理過程。 使用控制項時不需要再做訊息處理。

資源

資源是應用程式在運行中可能會使用到的一些資料,標,位元影像,菜單等。

 

在程式設計時,開發人員可以在資源指令碼(.rc)中配置資源,在程式構建時,資源編譯器會將資源編譯為資源檔(.res)  ,然後由連結器將資源連結到可執行檔中。程式在運行中便可以使用這些資源。

 

 

GDIDevice Context(DC)

DC是一個結構,它定義了繪圖物件繪圖物件的屬性圖形模式

繪圖物件包括畫筆畫刷,字型位元影像調色盤(Palette)地區(矩形)等/

這些對象都可以使用SelectObject()函數將它們選入DC中。

 

重載SelectObject()方法,以便接受各種類型對象的指標。

 

繪圖模式(Graphic Mode)

Windows支援5種圖形模式,允許應用程式指定: 1. 顏色如何合成。 2. 輸出在哪裡出現

  1. 輸出如何縮放  等

模式被儲存在Device Context(DC)中.

 

5種模式分別是:

  1. Background[a3] 
  2. Drawing[a4] 
  3. Mapping[a5] 
  4. Polygon-fill[a6] 
  5. Stretching[a7] 

 

建立對話方塊

方法:

  1. 通過資源來建立對話方塊,可以使用 CreateDialog  , CreateDialogParam , DialogBox , DialogBoxParam 等API宏或函數。
  2. 不依賴資源,直接建立對話方塊,可以使用:

CreateDialogIndirect ,  CreateDialogIndrectParam , DialogBoxIndirect,

DialogBoxIndirectParam 等API宏和函數直接建立對話方塊。

 

對話方塊訊息處理函數:

在建立對話方塊時,需要指明對話方塊訊息處理函數。

如果一個訊息能有對話方塊的訊息處理函數處理,那麼需返回 TRUE

 [a1]包括應用程式圖示,視窗標題,最大化,最小化,關閉按鈕。

 [a2]客戶區用於放置視窗的功能空間,現實內容等。

 [a3]定義存在的視窗或位元影像和文本操作的螢幕顏色如何合成

 [a4]與Background相對應,Drawing是定義前景色彩。

 [a5]定義輸出的圖形如何從邏輯空間映射到視窗,螢幕,或列印紙

 [a6]定義畫刷模式,如何填充複雜地區的內部

 [a7]定義位元影像顏色如何被合成

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.