Thema: Delphi Parent Problem

Einzelnen Beitrag anzeigen

TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Parent Problem

  Alt 17. Jan 2007, 12:42
Am Besten Du überschreibst einfach die Parent-Property deiner Klasse (TMyClass). Denn wenn Du dann deinen Parent lädst, kannst Du (im Setter deiner eigenen Parent-Property) schon eine Zeile darunter ohne weitere Probs die Items deiner ComboBox clearen:


Delphi-Quellcode:
TMyClass = class(TPanel)
  AComboBox : TComboBox;
  constructor Create(AOwner : TComponent); override;
private
  function getAParent : TWinControl;
  procedure setAParent(AParent: TWinControl);
public
  property Parent read getAParent write setAParent;
end;

.
.

function TMyClass.getAParent : TWinControl;
begin
  Result := inherited Parent;
end;

procedure TMyClass.setAParent(AParent : TWinControl);
var lastParent : TWinControl;
begin
  lastParent := inherited Parent;
  inherited Parent := AParent;
  if lastParent = nil then // nur beim aller ersten Parent-Laden
    AComboBox.Items.Clear;
end;

edit: minimale Schönheitskorrektur am Code
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat