TMyPanel = class(TPanel)
public
procedure AfterConstruction; override;
end;
procedure TMyPanel.AfterConstruction;
begin
inherited AfterConstruction;
Caption := '';
end;
我想在构建过程中清除标题,但是此代码无法正常运行。
它不会将标题设置为空字符串。
如果我将''(空格)分配给Caption,它将保留,但这不是适当的解决方案。
我正在使用Delphi 2006。
最佳答案
试试这个:
uses
ExtCtrls, StrUtils;
type
TMyPanel = class(TPanel)
public
procedure Loaded; override;
end;
procedure TMyPanel.Loaded;
inherited;
Caption := EmptyStr;
end;
经过测试,在XE2中似乎可以正常工作。
编辑:
这在OP中显示的方法不起作用的情况下起作用的原因是,在从DFM文件中分配了对象的属性值之后,调用了
Loaded
。对
AfterConstruction
的重写调用发生在对象的初始创建之后,但在从窗体的DFM分配属性值之前,这意味着您在AfterConstruction
方法中分配的任何属性值都将立即替换为任何值在DFM中为同一属性指定。Loaded
发生在构造顺序的最后,因此,无论您指定的值是最终值。
关于delphi - 施工期间如何在TPanel后代中设置标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013136/