如何在继承delphi的一个已有组件后改变它的原有的默认属性(100分)

  • 主题发起人 主题发起人 yzy25
  • 开始时间 开始时间
Y

yzy25

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说其原有的Height Width Color Font等?

我原以为是
private
FHeight:Integer;
...
published
property Height:Integer read FHeight write FHeight;
可是不对啊。
本人初学组件,望诸位多指教。
 
从付类继承
货用pointer
 
你需要重载
public
constructor Create(AOwner: TComponent); override;
... ...

constructor TDataSetMove.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Height := ... ;
Width := ... ;
Color := ... ;
Font := ... ;
end;
 
从父类继承,然后重写create函数,在create中初始化。
 
unit wwEdit;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TwwEdit = class(TEdit)
public
constructor Create(AOwner: TComponent); override;
published
property Color default clRed;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('WangWei', [TwwEdit]);
end;

{ TwwEdit }

constructor TwwEdit.Create(AOwner: TComponent);
begin
Inherited Create(AOwner);
Color := clRed;
end;

end.
 
上面说的基本都是对的。
你只要重载构造函数Create就行了,不需要别的,在构造函数里设置。

结帖吧!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
772
import
I
I
回复
0
查看
653
import
I
后退
顶部