可以在delphi应用程序中创建多个MDI表单吗?

时间:2011-03-21 07:28:36

标签: delphi forms mdichild

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:0)

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

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