Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
Delphi 2009 Professional
|
Re: MDIChild variabel durch TStringList.Objects erstellen
20. Mär 2006, 17:34
Hallo Robert,
vielleicht kannst Du Deine Forms auch in einer TObjectList verwalten:
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, contnrs;
type
TForms = class(TObjectList)
function GetItem(index : integer) : TForm;
procedure SetItem(index : integer; Form : TForm);
public
function add(Form : TForm) : integer;
property Items[idx : integer] : TForm read GetItem write SetItem; default;
end;
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
FForms : TForms;
implementation
{$R *.dfm}
function TForms.GetItem(index : integer) : TForm;
begin
result := TForm(inherited GetItem(index));
end;
procedure TForms.SetItem(index:integer; Form : TForm);
begin
inherited SetItem(index,Form);
end;
function TForms.add(Form : TForm) : integer;
begin
result := inherited Add(Form);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FForms.add(TForm1.Create(Form1));
FForms.Items[FForms.Count-1].Caption := 'ChildForm' + IntToStr(FForms.Count);
FForms.Items[FForms.Count-1].Left := (FForms.Items[FForms.Count-1].Left + FForms.Count*10);
FForms.Items[FForms.Count-1].Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//hier wird nur die Liste erstellt, später muß die auch wieder freigegeben werden!
FForms := TForms.Create;
Button2.Enabled := false;
end;
Finde ich etwas übersichtlicher als in der TStringList...
Grüße, Messie
|
|
Zitat
|