【发布时间】:2014-01-13 13:00:20
【问题描述】:
使用 Delphi XE2 向导创建组件,我选择了要继承的 TPanel,并更改了一些属性的默认值以适合我的应用程序。
我的问题是更改 Margins 的默认值:
TControl = class(TComponent)
...
property Margins: TMargins read FMargins write SetMargins;
Margins 是一个 TMargin 类,声明了 4 个属性,我需要重新定义默认值:
TMargins = class(TPersistent)
published
property Left: TMarginSize index 0 read FLeft write SetMargin default 3;
property Top: TMarginSize index 1 read FTop write SetMargin default 3;
property Right: TMarginSize index 2 read FRight write SetMargin default 3;
property Bottom: TMarginSize index 3 read FBottom write SetMargin default 3;
当调用组件的构造函数时,我可以/将在代码上设置边距,但是我不知道如何重新定义上面的这些默认值以便显示在属性编辑器上。
【问题讨论】:
-
我有一种感觉,不能重新定义默认值。
-
@DavidHeffernan 是的,这是允许的,我在很多简单的情况下这样做,比如“property AlignWithMargins default true;”以前的默认值是假的。它可以工作并且它是文档的一部分,只需指定属性和新的默认值。但是我不知道在上述情况下如何做到这一点。
标签: delphi components delphi-xe2