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