windows訊息處理機制和VB

來源:互聯網
上載者:User

在開始具體的VB知識講述之前,吉大的教程為我們講述了windows的訊息處理機制,並用C語言,簡單描述了windows內部的訊息處理機制,分了:註冊視窗類別,建立視窗,顯示訊息迴圈,取出發給視窗,函數執行

說實在的,我有點沒聽明白,後來又查詢了一些資料,大概瞭解了windows訊息處理機制是怎麼一回事。


首先說一下訊息,訊息是任何物件導向系統的關鍵區段,windows環境與應用程式之間的互動,及其與外界的互動就是通過訊息來完成的。Windows發出的一個通知,告訴應用程式某個事情發生了。例如,單擊滑鼠、改變視窗尺寸、按下鍵盤上的一個鍵都會使Windows發送一個訊息給應用程式。訊息本身是作為一個記錄傳遞給應用程式的,這個記錄中包含了訊息的類型以及其他資訊。

 

 

Windows的訊息系統是由3個部分組成的:

 

訊息佇列:Windows能夠為所有登入的應用程式維護一個訊息佇列。應用程式必須從訊息佇列中擷取

訊息,然後指派給某個視窗。

訊息迴圈:通過這個迴圈機制應用程式從訊息佇列中檢索訊息,再把它指派給適當的視窗,然

後繼續從訊息佇列中檢索下一條訊息,再指派給適當的視窗,依次進行。

視窗過程:每個視窗都有一個視窗過程來接收傳遞給視窗的訊息,它的任務就是擷取訊息然後

響應它,視窗過程是一個回呼函數;處理了一個訊息後,它通常要返回一個值給Windows。

注意回呼函數是程式中的一種函數,它是由Windows或外部模組調用的。


一個訊息從產生到被一個視窗響應,其中有5個步驟:


1) 系統中發生了某個事件。

2) Windows把這個事件翻譯為訊息,然後把它放到訊息佇列中。

3) 應用程式從訊息佇列中接收到這個訊息,把它存放在記錄中。

4) 應用程式把訊息傳遞給一個適當的視窗的視窗過程。

5) 視窗過程響應這個訊息並進行處理。


步驟3和4構成了應用程式的訊息迴圈。訊息迴圈往往是Windows應用程式的核心,因為訊息迴圈

使一個應用程式能夠響應外部的事件。訊息迴圈的任務就是從訊息佇列中檢索訊息,然後把訊息傳遞給適當的視窗。如果訊息佇列中沒有訊息,Windows就允許其他應用程式處理它們的訊息。

Windows作業系統最大的特點就是其圖形化的操作介面,其圖形化介面是建立在其訊息處理機制這個基礎之上的。


不理解Windows訊息處理機制,肯定無法深入的理解Windows編程。可惜我對windows的訊息處理機制內部原理還是理解的比較淺,希望隨著學習的深入,能理解得更透徹。



參考:吉大教程百度百科廊坊師範學院-圖書館-中國知網-《在VB中運用Windows訊息機制》
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.