⑵ 聲明屬性
當聲明一個屬性時
對於Shape控制
type
TSampleShape=class(TGrahpicControl)
private
FShape: TSampleShapeType;
procedure SetShape(value: TSampleShapeType)
published
property Shape: TSampleShapeType read FShape write SetShape;
end;
現在
⑶ 編寫實現方法
下面是SetShape的實現
procedure TSampleShape
begin
if FShape<>value then
begin
FShape := value;
Invalidate(True)
end;
end;
為了改變缺省屬性值和初始化部件擁有的對象
圖形控制的缺省大小是相同的
本例中Shape控制的大小的初始設置為邊長
⑴ 在部件聲明中增加覆蓋constructor
type
TSampleShape=class(TGraphicControl)
public
constructor Create(Aowner: TComponent)
end;
⑵ 用新的缺省值重新聲明屬性Height和width
type
TSampleShape=class(TGrahicControl)
published
property Height default
property Width default
end;
⑶ 在庫單元的實現部分編寫新的constructor
constructor TSampleShape
begin
inherited Create(AOwner)
width :=
Height :=
end;
在缺省情況下
管理Owned對象需要下列三步
● 聲明對象域
● 聲明訪問屬性
● 初始化Owned對象
⑴ 聲明Owned對象域
擁有的每一個對象必須有對象域的聲明
Owned對象的域總是定義為私有的
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25110.html