er der ikke en lettere måde at gøre det på end at lave alle componenterne igen?
Lav en klasse som arver fra TTabSheet og som indeholder alle dine komponenter. I constructoren creater du så dine memoer og hvad du nu ellers har af komponenter og sætter deres width, height osv., og herefter bruger du bare din nye klasse på samme måde som du ville have brugt et TTabSheet. Det kommer til at ligne nedenstående lidt:
<pre>
TExtTabSheet = class(TTabSheet)
private
Memo: TMemo;
Label: TLabel;
//flere komponenter
public
constructor Create(AOwner: TObject);
destructor Destroy; override;
end;
....
constructor TExtTabSheet.Create(AOwner: TObject);
begin
Memo := TMemo.Create(nil);
Memo.Parent := AOwner;
Memo.Width := 200;
Memo.Height := 200;
//osv. med de andre komponenter
inherited Create;
end;
destructor Destroy;
begin
inherited
Memo.Free;
end;
</pre>
Herefter bruger du den på samme måde som et normalt TTabSheet:
<pre>
procedure blabla;
var
TS: TExtTabSheet;
begin
TS := TExtTabSheet.Create(PageControl1);
TS.Align := alClient;
//fyld selv mere kode på
end;
</pre>
Jeg skal ikke kunne udelukke at der er en enkelt fejl eller to i det da jeg ikke lige har prøvet om det virker i Delphi