知识大全 Delphi自定义部件开发(四)[3]
Posted 部件
篇首语:君子报仇,十年不晚。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi自定义部件开发(四)[3]相关的知识,希望对你有一定的参考价值。
DELPHI基础教程:Delphi自定义部件开发(四)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
下面的代码声明了Pen和Brush的对象域
type
TSampleShape=class(TGraphicControl)
private
FPen: TPen;
FBrush: TBrush;
end;
⑵ 声明访问属性
可以通过声明与Owned对象相同类型的属性来提供对Owned对象的访问能力 这给使用部件的开发者提供在设计时或运行时访问对象的途径
下面给Shape控制提供了访问Pen和Brush的方法
type
TSampleShape=class(TGraphicControl)
private
procedure SetBrush(Value: TBrush)
procedure SetPen(Value: TPen)
published
property Brush: TBrush read FBrush write SetBrush;
property Pen: TPen read FPen write SetPen;
end;
然后在库单元的implementation部分写SetBrush和SetPen方法
procedure TSampleShape SetBrush(Value: TBrush)
begin
FBrush Assign(Value)
end;
procedure TSampleShape SetPen(Value: TPen)
begin
FPen Assign(Value)
end;
⑶ 初始化Owned对象
部件中增加了的新对象 必须在部件constructor中建立 这样用户才能在运行时与对象交互 相应地 部件的destructor必须在撤消自身之前撤消Owned对象
因为Shape控制中加入了Pen和Brush对象 因此 要在constructor中初始化它们 在destructor中撤消它们
① 在Shape控制的constructor中创建Pen和Brush
constructor TSampleShape Create(Aowner: TComponent)
begin
inherited Create(AOwner)
Width := ;
Height := ;
FPen := TPen Create;
FBrush := TBrush Create;
end;
② 在部件对象的声明中覆蓋destructor
type
TSampleShape=class(TGraphicControl)
public
construstor Create(Aowner: TComponent) override;
destructor destroy; override;
end;
③ 在库单元中的实现部分编写新的destructor
destructor TSampleShape destroy;
begin
FPen Free;
FBrush Free;
inherited destroy;
end;
④ 设置Owned对象的属性
处理Pen和Brush对象的最后一步是处理Pen和Brush发生改变时对Shape控制的重画问题 Pen和Brush对象都有OnChange事件 因此能够在Shape控制中声明OnChange事件指向的事件处理过程
cha138/Article/program/Delphi/201311/25111相关参考
DELPHI基础教程:Delphi自定义部件开发(四)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(四)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(三)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看