線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1817
推到 Plurk!
推到 Facebook!

inherited 在VCL原始碼中的問題

 
nathihg
一般會員


發表:5
回覆:1
積分:1
註冊:2006-08-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-19 08:37:08 IP:220.132.xxx.xxx 未訂閱
 
淺淺的鑽了一下TEdit的原始碼,想改一些訊息的處理函式,但是有一些訊息處理函式,追到最後竟然是個inherited;
我的認知以為inherited後不加函數名就是呼叫繼承而來的同名函數,但是我找到的處理函式祖先沒有同名函式但是還是呼叫inherited
例如
TEdit的WM_PAINTt訊息的處理函式 WMPaint( ) , Tedit的繼承關系是
TObject -> TPersistent -> TComponent -> TControl -> TWinControl ->TCustomEdit
在TWinControl裡可以找到WMPaint這個處理WM_PAINT的函式,但是實作中卻有一行inherited,但是TWinControl的祖先卻沒有WMPaint了
那究竟是誰做了inherited這行的事呢? 感謝先進解惑
jimmychn
一般會員


發表:3
回覆:21
積分:19
註冊:2002-09-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-07 22:47:12 IP:61.230.xxx.xxx 訂閱
個人淺見,由於是架構在Windows的平台上,Windows系統本身就已經處理過所有提供的元件應有的函式,DELPHI只是在加上特有的部份,以便後代繼承!所以就是回叫Windows的相關處理函式囉!DefWindowsProc()!
------
>>>好心有好報
系統時間:2024-11-23 0:10:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!