當前位置:編程學習大全網 - 編程語言 - windows消息是怎麽表示的?

windows消息是怎麽表示的?

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

· 消息隊列。Windows能夠為所有的應用程序維護壹個消息隊列。應用程序必須從消息隊列中獲取

消息,然後分派給某個窗口。

· 消息循環。通過這個循環機制應用程序從消息隊列中檢索消息,再把它分派給適當的窗口,然

後繼續從消息隊列中檢索下壹條消息,再分派給適當的窗口,依次進行。

· 窗口過程。每個窗口都有壹個窗口過程來接收傳遞給窗口的消息,它的任務就是獲取消息然後

響應它。窗口過程是壹個回調函數;處理了壹個消息後,它通常要返回壹個值給Windows。

註意回調函數是程序中的壹種函數,它是由Windows或外部模塊調用的。

壹個消息從產生到被壹個窗口響應,其中有5個步驟:

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

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

3) 應用程序從消息隊列中接收到這個消息,把它存放在TMsg記錄中。

4) 應用程序把消息傳遞給壹個適當的窗口的窗口過程。

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

步驟3和4構成了應用程序的消息循環。消息循環往往是Windows應用程序的核心,因為消息循環

使壹個應用程序能夠響應外部的事件。消息循環的任務就是從消息隊列中檢索消息,然後把消息傳遞給適當的窗口。如果消息隊列中沒有消息,Windows就允許其他應用程序處理它們的消息。

Windows操作系統最大的特點就是其圖形化的操作界面,其圖形化界面是建立在其消息處理機制這個基礎之上的。如果不理解Windows消息處理機制,肯定無法深入的理解Windows編程。可惜很多程序員對Windows消息只是略有所聞,對其使用知之甚少,更不了解其內部實現原理,本文試著壹步壹步向大家披露我理解的Windows消息機制。可以說,掌握了這壹部分知識,就是掌握了Windows編程中的神兵利器,靈活運用它,將會極大的提高我們的編程能力。

  • 上一篇:安裝300plc編程軟件時提示指令引用的0x00000014內存.該內存不能為read是什麽
  • 下一篇:mastercam和CAD最大的區別是什麽?快捷鍵都是什麽?麻煩了謝謝
  • copyright 2024編程學習大全網