首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何像Office一样在Delphi中编写“子”应用程序?

如何像Office一样在Delphi中编写“子”应用程序?
EN

Stack Overflow用户
提问于 2021-08-27 10:19:47
回答 2查看 294关注 0票数 0

Office2016的行为类似于MDI应用程序,尽管它不是:如果您在Taskmgr.exe中打开多个文件,就有一个EXCEL.EXE进程正在运行(选项卡"Details"):

但是,选项卡"Processes“中有多个条目(实际上列出了窗口):

打开第一个文件时,Excel启动缓慢。但是当我打开第二个和第三个文件时,Excel比第一个更快。

如何在Delphi程序中做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-27 13:08:21

Windows的任务管理器不必要地使用误导性术语来描述实际发生的情况:

  • “process”选项卡实际上列出了"Apps“类别的 windows ,或者成功地为一个进程列出了多个窗口,或者没有。在旧版本的Windows中,任务管理器以这种方式列出窗口,已经有可疑的选项卡标题”应用程序“,但没有将多个窗口分组并将多个窗口关联到一个进程:
  • 选项卡"Details“列出实际运行的进程,不绑定到它们有多少窗口或显示多少窗口。在以前的版本中,该选项卡的标题为"Processes":

我们有什么情况?One process显示多窗口。这很容易实现,就像很久以前一样:您只需确保只运行一个处理多个文档的实例。甚至不需要成为真正的MDI。

在顶部,任务管理器还需要对多个窗口进行分组。Excel是如何实现这一点的?查看任务栏:每个文档都有一个单独的按钮,而不仅仅是Excel本身的一个按钮。在您的Delphi程序中,您必须确保每个窗口也必须出现在任务栏如何在任务栏中正确显示无模式窗体上,以及它的答案已经评估了许多这样做的方法。

票数 2
EN

Stack Overflow用户

发布于 2021-08-27 11:15:15

在Delphi中,您可以编写一个应用程序。它将有几个辅助窗口。主窗和辅助窗应采用MDI样式。

当应用程序启动时,它首先会查看自己的副本是否已经在运行。如果没有,它只是继续;如果前面的副本正在运行,它会向它发送应该打开的文档(文件名),然后退出。以前运行的应用程序将在新的辅助窗口中打开已传递的文档。

这是整体的做法。如果有什么事情你不知道如何做,那么请为每个主题分别提出问题。

请阅读帮助页所以巡演如何问,以及这个问题清单

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68951771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档