6

我开发了一个 mdi 应用程序,它的主要形式有几个在运行时创建的子窗口。子窗口是自定义窗体。我想在同一个应用程序中以另一种形式显示这些自定义表单。这可能吗?

4

2 回答 2

8

不,使用标准 VCL 是不可能的。只有应用程序的 MainForm 可以是 MDI Form。但是应该可以直接使用win32,如此处所示

于 2011-03-21T08:00:18.943 回答
0

我不相信这在 VCL 中是可能的。据我了解,MDI 表单被假定为主要表单(Application.MainForm)。我想底层的 Windows 例程不会有任何这样的假设,但我认为 VCL 不会让你在没有一些严重的黑客攻击的情况下这样做。

在 VCL 框架的各个点,重要的 MDI 消息被发送到Application.MainForm.ClientHandle. 现在,ClientHandle是 MDI 容器,但由于某种原因,主窗体的容器已被单选出来。

于 2011-03-21T08:01:02.263 回答