Office 2016的行为就像一个MDI应用程序,尽管它不是:如果你在Taskmgr.exe中打开许多文件,则有一个EXCEL.EXE进程正在运行(选项卡“详细信息”):
Taskmgr.exe
EXCEL.EXE
的数据但是在“进程”选项卡中有多个条目(实际上列出了窗口):
的当我打开第一个文件时,Excel开始变慢。但当我打开第二个和第三个文件时,Excel比第一个文件快。如何在 Delphi 程序中做到这一点?
zbdgwd5y1#
的数据
的什么情况?一个进程显示多个窗口。这可以很容易地完成,就像以前一样:您只需确保只运行一个示例来处理多个文档。甚至不需要是真正的MDI。你想要的是,* 任务管理器 * 还将多个窗口组合在一起。Excel 是如何实现这一点的?看看你的 * 表 *:每个文档都有一个单独的按钮,而不是一般 Excel 本身只有一个按钮。在你的 * Delphi * 程序中,你必须确保每个窗口也必须出现在 * 表上:How to correctly have modeless form appear in taskbar沿着它的答案已经评估了许多这样做的方法。
fgw7neuy2#
在 Delphi 中,你可以编写一个单独的应用程序。它将有几个辅助窗口。主窗口和辅助窗口应该有一个MDI风格。当应用程序启动时,它首先会查看自己的一个副本是否已经在运行。如果没有,它就继续运行;如果前一个副本正在运行,它会向它发送应该打开的文档(文件名),然后退出。前一个运行的应用程序将在一个新的辅助窗口中打开传递的文档。这是做这件事的总体方法。
2条答案
按热度按时间zbdgwd5y1#
的数据
的
什么情况?一个进程显示多个窗口。这可以很容易地完成,就像以前一样:您只需确保只运行一个示例来处理多个文档。甚至不需要是真正的MDI。
你想要的是,* 任务管理器 * 还将多个窗口组合在一起。Excel 是如何实现这一点的?看看你的 * 表 *:每个文档都有一个单独的按钮,而不是一般 Excel 本身只有一个按钮。在你的 * Delphi * 程序中,你必须确保每个窗口也必须出现在 * 表上:How to correctly have modeless form appear in taskbar沿着它的答案已经评估了许多这样做的方法。
fgw7neuy2#
在 Delphi 中,你可以编写一个单独的应用程序。它将有几个辅助窗口。主窗口和辅助窗口应该有一个MDI风格。
当应用程序启动时,它首先会查看自己的一个副本是否已经在运行。如果没有,它就继续运行;如果前一个副本正在运行,它会向它发送应该打开的文档(文件名),然后退出。前一个运行的应用程序将在一个新的辅助窗口中打开传递的文档。
这是做这件事的总体方法。