2017-03-04 273 views
2

我有它會有多形式和各種形式的一個Delphi項目需要重寫窗口的方法來處理窗口消息(例如WndProc中,WM_SIZE ...)德爾福形式

我可以使用基地形式呢?

,如果是,我如何使用一個基本形式爲它,這樣我可以從基本形式得到我的形式,所有的形式將具有相同的方法呢?

將從基本形式我的派生形式有自動的方法沒有宣佈呢?

謝謝

+0

當然,這是繼承類的全部目的。表格也不例外。德爾福以繼承類的性質而聞名。 –

+1

在文檔中搜索* Visual Form Inheritance *。 –

+1

[可視表格繼承](http://etutorials.org/Programming/mastering+delphi+7/Part+II+Delphi+Object-Oriented+Architectures/Chapter+8+The+Architecture+of+Delphi+Applications/Visual +表單+繼承/) –

回答

3

當你繼承一個表單,就像繼承其他類一樣。默認情況下,當您繼承某個類時,可以使用可見的方法供您使用。 可見意義,這取決於什麼是privatepublicpublished

Read here,特別是關於Visibility of Class Members的部分。

假設的方法是在繼承類可見,您可以訪問它。另外,如果需要使其行爲不同,或者需要捕獲/截取某些內容等,則可以覆蓋它。但是,只能覆蓋虛擬方法。

例如...

type 
    TBaseClass = class(TObject) 
    public 
    procedure DoSomething; virtual; 
    end; 

    TNewClass = class(TBaseClass) 
    public 
    procedure DoSomething; override; 
    end; 

你並不需要重寫它,但你可以的,如果你需要。你可以read more about it here

+0

傑裏感謝您的詳細解釋,它的作品,我可以使用衍生形式,它就像一個奇蹟:)我沒有一次又一次宣佈對所有新的所有方法形成 –

+0

@Emreacikgoz你也可以只嘗試它爲你自己,看看它是否工作:-) –

+0

我現在沒有和它的工作:)但我想問之前嘗試的情況下,我需要做的或之前瞭解一些細節我這樣做 –