Hallo,
ich habe folgendes Problem: Ich möchte, dass ein von TForm abgeleitetes MDI-Child Form, wenn es angezeigt wird, sind selbst eine bestimmte Position auf dem Mainform zuweisen kann.
Was funktioniert ist:
<pre>
procedure TfrmMain.Test;
var f:TMDICHild;
begin
f := TMDIChild.Create;
f.Left := 10;
....
end;
</pre>
Das möchte ich aber nun innerhalb von TMDICHild machen: Folgendes funktioniert auch, ist aber nicht schön, weil das Fenster dann sichbar durch die Gegend springt:
<pre>
procedure TMDIChild.Paint(Sender: TObject);
begin
Left := 10;
..
inherited..
end
</pre>
Warum funktioniert das nicht schon früher in DoShow oder Create?
<pre>
procedure TMDIChild.DoShow(Sender: TObject);
begin
Left := 10;
...
end;
</pre>
habs schon mit SetBounds(0,0,width,height); oder SetWindowPlacement(Handle, @Placement); versucht, aber das klappt alles nicht.
Vielen Dank für einen Tipp!
ich habe folgendes Problem: Ich möchte, dass ein von TForm abgeleitetes MDI-Child Form, wenn es angezeigt wird, sind selbst eine bestimmte Position auf dem Mainform zuweisen kann.
Was funktioniert ist:
<pre>
procedure TfrmMain.Test;
var f:TMDICHild;
begin
f := TMDIChild.Create;
f.Left := 10;
....
end;
</pre>
Das möchte ich aber nun innerhalb von TMDICHild machen: Folgendes funktioniert auch, ist aber nicht schön, weil das Fenster dann sichbar durch die Gegend springt:
<pre>
procedure TMDIChild.Paint(Sender: TObject);
begin
Left := 10;
..
inherited..
end
</pre>
Warum funktioniert das nicht schon früher in DoShow oder Create?
<pre>
procedure TMDIChild.DoShow(Sender: TObject);
begin
Left := 10;
...
end;
</pre>
habs schon mit SetBounds(0,0,width,height); oder SetWindowPlacement(Handle, @Placement); versucht, aber das klappt alles nicht.
Vielen Dank für einen Tipp!
Comment