我有这个问题。当我隐藏主窗体时,应用程序的任务栏图标也被隐藏。我也看到了一个关于这个问题的新问题,但答案并没有真正帮助。他们建议将其最小化,但我不想最小化该应用程序。
应用程序运行时是否可以更改主窗体?
例如。我有两种形式。当我想隐藏一个窗体并显示另一个窗体时,任务栏图标应保留在任务栏上,主窗体应切换到另一个窗体。
我使用的是 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/