知识大全 Delphi自定义部件开发(四)[2]
Posted 知
篇首语:苦心人天不负,卧薪尝胆,三千越甲可吞吴。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi自定义部件开发(四)[2]相关的知识,希望对你有一定的参考价值。
DELPHI基础教程:Delphi自定义部件开发(四)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
⑵ 声明属性
当声明一个属性时 通常需要声明私有域来保存属性值 然后描述读写属性值的方法
对于Shape控制 将声明一个域保存当前形状 然后声明一个属性通过方法调用来读写域值
type
TSampleShape=class(TGrahpicControl)
private
FShape: TSampleShapeType;
procedure SetShape(value: TSampleShapeType)
published
property Shape: TSampleShapeType read FShape write SetShape;
end;
现在 只剩下SetShape的实现部分了
⑶ 编写实现方法
下面是SetShape的实现
procedure TSampleShape SetShape(value: TSampleShapeType)
begin
if FShape<>value then
begin
FShape := value;
Invalidate(True) 强制新形状的重画
end;
end;
覆蓋constructor和destructor
为了改变缺省属性值和初始化部件拥有的对象 需要覆蓋继承的constructor和destructor方法
图形控制的缺省大小是相同的 因此需要改变Width和Height属性
本例中Shape控制的大小的初始设置为边长 个象素点
⑴ 在部件声明中增加覆蓋constructor
type
TSampleShape=class(TGraphicControl)
public
constructor Create(Aowner: TComponent) override;
end;
⑵ 用新的缺省值重新声明属性Height和width
type
TSampleShape=class(TGrahicControl)
published
property Height default ;
property Width default ;
end;
⑶ 在库单元的实现部分编写新的constructor
constructor TSampleShape Create(Aowner: TComponent)
begin
inherited Create(AOwner)
width := ;
Height := ;
end;
公布Pen和Brush
在缺省情况下 一个Canvas具有一个细的 黑笔和实心的白刷 为了使用户在使用Shape控制时能改变Canvas的这些性质 必须能在设计时提供这些对象 然后在画时使用这些对象 这样附属的Pen或Brush被称为Owned对象
管理Owned对象需要下列三步
● 声明对象域
● 声明访问属性
● 初始化Owned对象
⑴ 声明Owned对象域
拥有的每一个对象必须有对象域的声明 该域在部件存在时总指向Owned对象 通常 部件在constructor中创建它 在destructor中撤消它
Owned对象的域总是定义为私有的 如果要使用户或其它部件访问该域 通常要提供访问属性
cha138/Article/program/Delphi/201311/25110相关参考
DELPHI基础教程:Delphi自定义部件开发(四)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(四)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(三)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看