我经常像这样将一个TForm
的子类嵌入到另一个TForm
的子类中:
var
Form1: TForm1;
Form2: TForm2;
begin
Form2.Parent := Form1;
Form2.BorderStyle := bsNone;
Form2.Align := alClient;
Form2.Show;
end;
通常情况下,这个方法可以正常工作,但是有时候Form2中的控件没有对齐。有没有一般性的解决方案来解决这种问题?
有人知道是什么原因导致了这种“不对齐”吗?
我知道我可以使用TFrame来完成这种工作,但是我有很多库代码需要重新编写,而且我认为TForm在TForm中的方法应该可以工作,你怎么看?
编辑:我已经确定组件TcxListView是罪魁祸首,我已向组件供应商(DevExpress)提交了错误报告。
http://www.devexpress.com/issue=B194161
编辑2:DevExpress的开发人员已经分析了这个问题,并表示这实际上是Embarcadero的TGridPanel
组件的一个缺陷:
BorderStyle
是bsNone
,那么BorderIcons
就没有效果。在这种情况下,Alt+Space 不起作用,但 All+F4 可以。 - Andreas Rejbrand