TMemo descendant with empty lines

北慕城南 提交于 2019-12-06 08:57:15

问题


My TMemo descendant has constructor

constructor TMyMemo.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Lines.Clear;
end;

When I put TMyMemo on the form I get error "Control '' has no parent window.". Why?


回答1:


A newly created memo has no content. But content is added as soon as the component acquires a name, which is done automatically by the designer. To prevent this, remove csSetCaption from ControlStyle:

constructor TMyMemo.Create(AOwner: TComponent); 
begin 
  inherited Create(AOwner); 
  ControlStyle := ControlStyle - [csSetCaption];
end; 



回答2:


Move Lines.Clear to overriden method CreateWnd. Underlying window control (multiline edit) doesn't exist during Create execution



来源:https://stackoverflow.com/questions/9850176/tmemo-descendant-with-empty-lines

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!