我的delphi7应用程序始终显示在主屏幕监视器任务栏中,现在显示在delphi 10.2中。如果我将应用程序移至第二屏幕,则任务栏图标将移至该秒屏幕。 因此,现在我的问题是使用delphi 10.2打开并编译的旧delphi7应用程序,它们仍然具有旧行为。那么我该如何解决呢?
答案 0 :(得分:3)
在Delphi 7中,所有TForm
窗口在运行时均由隐藏的TApplication
窗口拥有,该窗口实际上是管理应用程序“任务栏”按钮的窗口。当您将窗体移动到其他监视器时,该窗口仍保留在主监视器上。这就是为什么您看不到应用程序的“任务栏”按钮移动到其他显示器的原因。
在Delphi 2007和更高版本中,默认情况下,在Vista +上,TForm
窗口不再由隐藏的TApplication
窗口拥有。此行为由TApplication.MainFormOnTaskBar
属性控制,该属性在Delphi 7中尚不存在。被隐藏的TApplication
窗口拥有,会在Vista +中为任务栏,任务切换器,Aero,等等,因此ShowMainFormOnTaskBar
应该始终设置为true。
将Delphi 7项目升级到Delphi 10.2时,请确保在应用程序的主要启动代码中设置Application.MainFormOnTaskBar := true;
,以便该应用程序与Vista +正确交互。迁移D2007之前的项目时,默认情况下MainFormOnTaskBar
为false。