Hallo, ich hätte mal eine allgemeine Frage zur Objektbehandlung.
Also wenn ich zum Beispiel ein Objekt erzeugen will, welches aus einer Listbox und einem Edit-Feld besteht, welches z.B. dazu dient die einzelnen Zeilen in der Listbox anzuwählen, wie geht man da am besten vor ?
Ich habe mal zwei Beispile gemacht, wobei das 2te ja sehr viel umständlicher ist. Aber kann man das erste ohne bedenken holen, da ja ein zweites Objekt vom ersten erszeugt wird?
Delphi-Quellcode:
1.
type
TMyList = class(TListBox)
private
fAuswahl: TEdit;
public
constructor Create(AOwner: TComponent); override;
end;
implementation
constructor TMyList.Create;
begin
inherited;
Parent := AOwner as TWinControl;
fAuswahl := TEdit.Create(AOwner);
with fAuswahl do
begin
Parent := AOwner as TWinControl;
Left := 130;
end;
end;
Delphi-Quellcode:
2.
type
TMyEdit = class(TEdit)
public
constructor Create(AOwner: TComponent); override;
end;
TMyList = class(TListBox)
private
fAuswahl: TMyEdit;
public
constructor Create(AOwner: TComponent; InAuswahl: TMyEdit); reintroduce;
end;
implementation
constructor TMyEdit.Create;
begin
inherited;
Parent := AOwner as TWinControl;
Left := 130;
end;
constructor TMyList.Create;
begin
inherited Create(AOwner);
Parent := AOwner as TWinControl;
fAuswahl := InAuswahl;
end;