我TMemo后代具有构造TMemo后裔由空行
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Lines.Clear;
end;
当我把TMyMemo我得到错误的形式“控制‘’没有父窗口。”为什么?
我TMemo后代具有构造TMemo后裔由空行
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Lines.Clear;
end;
当我把TMyMemo我得到错误的形式“控制‘’没有父窗口。”为什么?
新创建的备忘录中没有任何内容。但是只要组件获得名称,内容就会被添加,这个名称由设计者自动完成。为了防止这种情况,从ControlStyle
删除csSetCaption
:
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle - [csSetCaption];
end;
移动Lines.Clear到覆盖方法CreateWnd方法。基础窗口控制(多行编辑)不存在时创建执行
无论何时调用“CreateWnd”,这都会清除内容,这比您想象的要多。 – NGLN 2012-03-24 08:58:53
你为什么要发布在首位行,如果你忽视它的设置。改为从TCustomMemo派生。 – 2012-03-24 08:36:10
@大卫 - 我希望在表单上放置“空白”备忘录。通常/总是我把TMemo放在我清晰的线条上。我很懒惰:) – Branko 2012-03-24 08:50:18
你现在已经有了很好的答案,但这个问题也是你解释你的根本问题的一个很好的例子。 – 2012-03-24 09:25:55