gpt4 book ai didi

delphi - 主窗体上的框架 FormStyle = fsMDIForm

转载 作者:行者123 更新时间:2023-12-02 02:49:18 24 4
gpt4 key购买 nike

有没有办法在具有 Align = alClient 框架的主窗体上显示 MDI 子窗体 (FormStyle = fsMDIChild)?
在主窗体上创建框架:

Frame := TfrCalendar.Create(Self);
Frame.Parent := Self;

在主窗体上创建MDI子窗体:

if Assigned(FMDIRef)
then
FMDIRef.BringToFront
else begin
FMDIRef := TFReference.Create(Application);
FMDIRef.Show;
end;

此后,子窗体将不可见。如果不创建框架,则表单可见。如果您先显示子窗体,然后在主窗体上创建框架,则子窗体将再次变得不可见。

最佳答案

这里的问题是您的框架正在与 MDI 客户端窗口竞争空间。 MDI 客户端窗口是 MDI 子窗口的父窗口。

在您的场景中,框架占用了主窗口内的所有剩余客户区域,因此没有为 MDI 客户窗口留下任何空间。

您正在尝试的事情是不可能的。 MDI 客户端窗口必须到达某处,并且您必须为其留出一些空间。

根据您的实际目标,可以使用不同的解决方案:

  • 如果希望框架始终可见,则使用 alTop。下面的剩余空间可供 MDI 客户端窗口使用。
  • 如果您希望在 MDI 客户端窗口上显示图像作为背景,请参阅我的回答:https://stackoverflow.com/a/15137740/505088

关于delphi - 主窗体上的框架 FormStyle = fsMDIForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53387891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com