I often embed a TForm
descendant into another TForm
descendant like this:
var
Form1: TForm1;
Form2: TForm2;
begin
Form2.Parent := Form1;
Form2.BorderStyle := bsNone;
Form2.Align := alClient;
Form2.Show;
end;
Usually this works just fine, but sometimes the controls in Form2 are not aligned properly. Is there a general workaround for this sort of problem?
Does anybody know what is causing this "misalignment"?
I know that I could use TFrame
for this kind of job, but I have a lot of library code that I would have to rewrite and I do not see any reason why the TForm
in TForm
approach should not work?
Edit: I have identified the component TcxListView
as the culprit here, I have submitted a bug report to the component vendor (DevExpress):
http://www.devexpress.com/issue=B194161
Edit 2: The developers at DevExpress have analyzed the problem and said that it is actually a defect in the TGridPanel
component by Embarcadero:
http://qc.embarcadero.com/wc/qcmain.aspx?d=90324
I do this as well and I use the following routine to make it happen:
procedure TMyForm.PlaceInsideContainer(Container: TWinControl);
begin
Parent := Container;
Align := alClient;
BorderIcons := [];
BorderStyle := bsNone;
ParentBackground := True;
Show;
end;
I have no problems with this. The only difference that I could possibly imagine could be relevant is the assignment of BorderIcons, but I would doubt that causes a problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With