如何将MDI子表单边框设置为none?

时间:2016-02-19 21:32:33

标签: forms delphi vcl delphi-xe8

在我的 MDI表格(父表格)上,每当我触发创建新的 MDI子表单的命令时,我都会执行这些操作(但它没有'工作):

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

我尝试通过对象检查器将 MDI子窗体边框样式设置为 bsNone 但它不起作用好。

我终于尝试通过运行时设置 MDI Child&#39> 形式BorderStyle但是,它似乎也没有用。

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

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

Current Form

我们可能希望将 MDI儿童的BS 设置为 MDI家长的BS

Desired Form

2 个答案:

答案 0 :(得分:2)

您尝试做的不是如何使用MDI。通过使用客户端对齐的TFrame对象而非MDI子表单,可能会更好地提供您想要的GUI。

答案 1 :(得分:-1)

在等待一些答案后,我已阅读Embarcadero的文件,其中说明:

将MDI子表单的边框样式更改为 bsDialog bsNone 无效 ”< / p>

我尝试将我的程序的应用程序外观更改为Embarcadero创建的一些预先安装的样式,并帮助了它。

我只是覆盖了项目的默认样式设置。

How to

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

Final