forms - Delphi 在应用程序运行时更改主窗体

标签 forms delphi vcl taskbar delphi-xe6

我有这个问题。当我隐藏主窗体时,应用程序的任务栏图标也被隐藏。我也看到了一个关于这个问题的新问题,但答案并没有真正帮助。他们建议将其最小化,但我不想最小化该应用程序。

应用程序运行时是否可以更改主窗体?

例如。我有两种形式。当我想隐藏一个窗体并显示另一个窗体时,任务栏图标应保留在任务栏上,主窗体应切换到另一个窗体。

我使用的是 Delphi XE6,它是一个 VCL Forms 应用程序。

我还看到了一个关于在运行时更改主窗体的不同老问题,但它非常古老并且仍然基于 Delphi 6。

最佳答案

Is it possible to change the main form while the application is already running?

程序运行时无法更改 VCL 主窗体。该属性在程序启动时一次性确定。

一种可能的方法是安排辅助窗体(不是主窗体的窗体)在任务栏上有一个按钮。通过将其设置为无主窗口或使用 WS_EX_APPWINDOW 扩展窗口样式来实现此目的。

更新

好吧,您可以更改Application.MainForm,但它要求您销毁当前的主窗体,然后创建一个新窗体。

关于forms - Delphi 在应用程序运行时更改主窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25666626/

相关文章:

c++builder - TRichEdit 暂停/恢复撤销功能

php - Symfony 如何验证 EntityType 字段

delphi - 如何在 TIdHTTP 中指定自定义 HTTP 方法?

Delphi 方法调用后跟 ()

delphi - 如何使用泛型创建不同类型的 MDI 子项?

delphi - 我需要 Delphi 的组件来创建一个可以通过皮肤美化的 Web 应用程序

php - symfony2创建没有实体类的表单

PHP:将表行作为表单中的隐藏元素传递

javascript - 从表单中的 2 个选择时间选项计算持续时间值

delphi - 线程不在打开的非模态表单上执行