我正努力在设计时将MDIChild窗体与父MDIForm设置左对齐Align:= alLeft。在父MDIForm上,工具栏与alTop对齐。显然对齐的MDIChild高于父母客户区(我不知道为什么),这就是垂直滚动条出现在父窗体上的原因。问题是,我希望这个表单动态创建;在这些MDIchild表单之间放置垂直Splitter,以便通过鼠标调整它们的大小。但是当我创建Splitter时,它完全在左边对齐,就好像MDIChild窗体根本没有对齐(alLeft)。如何对齐左侧的MDIChild?
我设置MDIChild参数:
Align:=alLeft;
Windowstate:=wsNormal;
Borderstyle:=bsSizable;
有谁解决过这个问题吗?
感谢名单了很多
P.S 德尔福7,Win XP的
我也尝试将子窗体直接放置在嵌套在父窗体中的TPanel(alClient)中。这个好主意粉碎了TEdit,TMemo ...组件停止工作(我不能在其中写入)的事实,除非儿童窗体的边框是bsNone。 我不确定,如果它不依赖于Delphi版本。 我没有尝试使用帧,所以也许现在... – lyborko 2010-04-14 16:38:09
我还没有尝试过,但我并不感到惊讶的边框样式错误导致问题。如果你想要带有标题的可拖动窗口,你需要使用MDI支持,这意味着你需要创建一个新的splitter类来知道如何处理MDI窗口。这当然是可能的,但德尔福现有的对齐和分离器代码将无济于事。 – 2010-04-14 17:07:43
我花了很多时间来解决它,锤子和钳子,没有成功。我必须承认,你可能是对的。我按照你的建议尝试了框架,但我不喜欢它 - 它没有标题,没有x按钮关闭。我希望它看起来很漂亮。所以定制的新分路器...我对此并不满意...... – lyborko 2010-04-14 19:05:30