1. 程式人生 > >Delphi中釋放父控制元件裡的所有子控制元件

Delphi中釋放父控制元件裡的所有子控制元件

procedure TFrmMain.ClearControls(AParent: TWinControl);
var
  i: Integer;
begin
  for i := AParent.ControlCount - 1 downto 0 do begin
    if not AParent.Controls[i].InheritsFrom(TWinControl) then Continue;
    try
      if TWinControl(AParent.Controls[i]).ControlCount > 0 then begin
        ClearControls(TWinControl(AParent.Controls[i]));
      end;
      AParent.Controls[i].Free;
    except
    end;
  end;
end;