如何设置MDI child 窗体边框为none?

How to set MDI child form border to none?

在我的 MDI 表单(Parent 表单) 上,每当我触发命令创建一个新的 MDI Child 表单,我做了这些东西(但没用):

procedure TfrmMDI.CreateChildForm(const childName: string);
var Child: TfrmChild;
begin
    Child := TfrmChild.Create(Application);
    Child.Caption := childName;
    Child.BorderStyle := bsNone;
end;

我尝试将 MDI Child FormBorder Style 设置为 bsNone 通过 object 检查员,但它也不起作用。

我终于尝试通过 run-time 设置 MDI Child 的 Form BorderStyle,但是,它似乎也不起作用。

procedure TfrmChild.FormCreate(Sender: TObject);
begin
    BorderStyle := bsNone;
end;

有关其他信息,我当前的 MDI Child 表单 如下所示:

我们可能想像这样设置 MDI Child 的 BS MDI Parent 的 BS:

在等待一些答案时,我阅读了 Embarcadero 的文档,其中指出:

"将 MDI 子窗体的边框样式更改为 bsDialogbsNone 具有 没有影响"

我尝试将我的程序的 应用程序外观 更改为一些由 Embarcadero 创建的预安装样式,这很有帮助。

我只是重写了项目的默认样式设置。

最后,它看起来像这样。如果您覆盖默认窗体样式,任何边框样式更改都将应用于您的 MDI 子窗体:

您尝试做的不是 MDI 的使用方式。您想要拥有的 GUI 可能会通过使用客户端对齐的 TFrame 对象而不是 MDI 子窗体得到更好的服务。