摘自:劉藝--《delphi6企業級解決方案與應用剖析》
2009-8-23
delphi訊息處理
訊息的資料結構:
tmessage = record
msg: word;
case integer of
0: (
wparam: word;
lparam: longint;
result: longint
1:wparamlo: byte;
wparamhi: byte;
lparamlo: word;
wparamhi: word;
resultlo: word;
resulthi: word;
end;
delphi的單元message定義了所有的windows訊息和delphi訊息
(1)mainwndproc: 定義在wincontrol類中的乙個靜態方法,不能被過載;它不直接處理訊息,而是交由wndproc方法處理;
(2)wndproc: 定義在tcontrol類中的乙個虛擬方法,可以覆蓋,自己處理截獲的訊息;它呼叫dispatch方法來進行訊息的分配;
(3)dispatch: 定義在tobject根類中;如果dispatch沒有找到對應訊息的處理,則會呼叫tobject根類的defaulthandler方法;
(4)defaulthandler: 只是實現簡單的返回而不對訊息進行任何的處理;
Delphi的訊息處理
delphi中的訊息 訊息是windows發出的乙個通知,它告訴應用程式某個事件發生了。在delphi中,大多數情況下windows的訊息被封裝在vcl的事件中,我們只需處理相應的vcl事件就可以了,但如果我們需要編寫自己的控制項 截獲或過濾訊息就必須深入研究win32的訊息處理機制。在delphi...
Delphi中的訊息處理
1 windows的訊息驅動體系 在windows系統中,訊息傳遞是實現物件間通訊和控制的主要手段。可以系統都以訊息驅動的方式工作。系統中發生的使用者輸入操作 顯示資訊的改變 系統環境引數變化等所有事件都以系統定義訊息的形式出現在相關的應用程式和視窗。所以程式設計的主要任務就是為這些訊息的處理設計 ...
delphi類訊息的處理機制
delphi 類訊息的處理機制 文章不涉及 windows 訊息迴圈和更複雜的技術,只從 delphi 類繼承及類自身的訊息處理分析 是自己的學習心得和體驗 1.搜尋類本身有沒有處理該訊息值的函式 如果有 則終止迴圈 迴圈次數 1 2.搜尋父類有沒有處理該訊息值的函式 如果有 則終止迴圈 迴圈次數 ...