Einzelnen Beitrag anzeigen

AnyKey

Registriert seit: 15. Apr 2008
173 Beiträge
 
#1

Dynamische Komponenten in MDIChild

  Alt 13. Aug 2009, 10:15
Hi,

ich hoffe mal ihr könnt mir bei meinem Problem helfen. Ich will aus der Mainform meiner MDI Anwendung auf einem speziellen MDIChild (dem, welches gerade aktiviert ist) eine Scrollbox und ein StringGrid dynamisch erstellen, da ich es erst zu einem bestimmten Zeitpunkt brauche. Wie kann ich das jetzt machen? Ich habe es folgender maßen versucht:

Delphi-Quellcode:
procedure TfMain.ActLoadKonfigExecute(Sender: TObject);
var Child : TfMDIChild;
begin
  if FileExists(TFileOperations.GetFilePath+'Konfig.xml') then
  begin
    // die GroußBox und somit auch das RichEdit anpassen
    with Child.GroupBox1 do
    begin
      Child.GroupBox1.Align := alNone;
      Child.GroupBox1.Height := 298;
      Child.GroupBox1.Top := 168;
    end;
    // ScrollBox erzeugen
    Child.AScrollBox := TScrollBox.Create(Child);
    with Child.AScrollBox do
    begin
      Name := 'ScrollBox1';
      Parent := Child;
      Left := 0;
      Top := 0;
      Width := 604;
      Height := 153;
      Anchors := [akLeft, akTop, akRight];
      TabOrder := 0;
    end;
    // StringGrid erzeugen
    Child.ASplitGrid := TStringGrid.Create(Child);
    with Child.ASplitGrid do
    begin
      Name := 'StringGrid1';
      Parent := Child.AScrollBox;
      Left := 0;
      Top := 0;
      Width := 0;
      Height := 0;
      Align := alClient;
      FixedCols := 0;
      RowCount := 2;
      Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goColSizing, goEditing];
      TabOrder := 0;
    end;
  end
  else
  begin
    MessageBox(0,'Konfigurationsdatei wurde nicht gefunden!','Datei nicht gefunden',MB_ICONWARNING);
  end;
end;
Das hat nicht funktioniert, also habe ich ganz oben noch dies eingefügt:

Child := TfMDIChild.Create(Child) jetzt funktioniert zwar das Erzeugen, allerdings macht er dafür ein neues MDIChild auf, er soll die Komponenten aber in dem aktivierten einfügen. Weiß jemand wie ich das machen kann? Wie kann ich herausfinden welches MDIChild gerade aktiviert ist?

Stehe gerade ein wenig auf dem Schlauch....
Danke für eure Hilfe

Gruß
AnyKey
  Mit Zitat antworten Zitat