TComponent 类的派生类怎么设置它的显示区域, 或者说让它属于某个对象,
在用 IDE 编辑时不让它到处显示, 如让这个 Component 属于某一个TabSheet 的实例, 当切换到别的 TTabSheet 的时候, 属于原来的 TTabSheet 实例 Component 就不再显示出来原因:
我自己做了一个自动生成 SQL 语句的组件, 从 TComponent 派生, 在设计的时候 csDesigning 我要用一个实例去连一个输入框, 这样有一个输入框就得使用一个 SQL 的生成组件, 可是这些组件是属于 Form 的不是属于一个 TabSheet 的所以当我切换到另外的 TabSheet 的时候,这些组件不像输入框一样被隐藏了起来而是一直显示出来, 有没有一种办法使 TComponent 类的派生类也可以属于一些特定的组件而不只是属于 Form
在用 IDE 编辑时不让它到处显示, 如让这个 Component 属于某一个TabSheet 的实例, 当切换到别的 TTabSheet 的时候, 属于原来的 TTabSheet 实例 Component 就不再显示出来原因:
我自己做了一个自动生成 SQL 语句的组件, 从 TComponent 派生, 在设计的时候 csDesigning 我要用一个实例去连一个输入框, 这样有一个输入框就得使用一个 SQL 的生成组件, 可是这些组件是属于 Form 的不是属于一个 TabSheet 的所以当我切换到另外的 TabSheet 的时候,这些组件不像输入框一样被隐藏了起来而是一直显示出来, 有没有一种办法使 TComponent 类的派生类也可以属于一些特定的组件而不只是属于 Form
然后把宽度和高度定死。就和TComponent效果差不多了。
从 TControl 可能比 TComponent 消耗多得多, 不知有谁有这样的报告, 如果两者的消耗差不多, 我愿意使用 TControl 的
TControl的InstanceSize为348
TLabel的InstanceSize为392我觉的无所谓了
For example:
type
TMyForm = class(Tform)
protected private
btn: TButton;
edit: TEdit;
public
procedure xxx();
end;Implementationprocedure TMyform.xxx();
begin
edit := TEdit.Create (Self);
btn := TButton.Create (edit);
end;
end.
因为tabsheet是从twincontrol派生,而twincontrol只能容纳tcontrol派生的组件。