【发布时间】:2013-05-09 04:51:45
【问题描述】:
我想创建一个带有自己的任务栏的 MDI 应用程序,以便用户可以快速访问他/她想要带到前面的子窗口。然后我想到一个使用两个或多个监视器的用户可以将子窗口从我的应用程序的主窗体内部拖到它的外部,例如,拖到另一个监视器中。
怎么做?
【问题讨论】:
-
您所描述的不是 MDI 应用程序,因为我认为 MDI 不会轻易支持您的需求。相反,它是一个使用可停靠表单的 MDI 应用程序。典型的 Delphi 示例就是 Delphi IDE 本身。阅读对接,这应该是非常常规的。
-
Delphi IDE 没有容器作为这些可停靠项目的基础。 MDI 有一个主窗体,整个窗口作为一个容器,孩子在其中。当您将其中一个拉出时,它本身就变成了一个主窗体。那我在描述什么?也许是第三种东西?
-
好吧,你可以简单地构建一个主窗体并添加你自己的容器。
-
Windows 7 通过
ITaskbarList3接口增加了对任务栏访问 MDI 子窗口的支持。但是不可能将 MDI 子窗口“拉”成浮动窗口。要么创建停靠窗口,要么将 MDI 内容移动到可以在需要时在 MDI 子窗体和浮动窗体之间重新设置父级的框架上。 -
@DavidHeffernan 你测试过 NGLN 的答案吗?这只是我的意思,而且效果很好! :-)
标签: delphi mdi multiple-monitors sdi