2017-03-04 116 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

我现在没有和它的工作:)但我想问之前尝试的情况下,我需要做的或之前了解一些细节我这样做 –