delphi7转换为delphitokyo app任务栏图标不喜欢移动到第二屏app

delphi7 converted to delphi tokyo app taskbar icon does not like to move to second screen app

我的 delphi7 个应用程序总是显示在主屏幕监视器任务栏中,现在在 delphi 10.2 如果我将应用程序移动到第二个屏幕,任务栏图标将移动到第二个屏幕。 所以现在我的问题是我用 delphi 10.2 打开和编译的旧 delphi7 应用程序,它们仍然有旧的行为。那我该如何解决呢??

在Delphi7中,所有TFormwindows在运行时都属于隐藏的TApplicationwindow,也就是window实际上管理应用程序的任务栏按钮。当您将表单移至其他显示器时,window 仍保留在主显示器上。这就是为什么您看不到应用程序的任务栏按钮移至其他显示器的原因。

在 Delphi 2007 及之后的版本中,TForm windows 在 Vista+ 上默认不再属于隐藏的 TApplication window。此行为由 TApplication.MainFormOnTaskBar 属性 控制,它在 Delphi 中尚不存在 7. 被隐藏的 TApplication window 拥有会导致各种问题在 Vista+ 中,任务栏、任务切换器、Aero 等,因此 ShowMainFormOnTaskBar 应始终设置为 true。

当您将 Delphi 7 项目升级到 Delphi 10.2 时,请务必在应用程序的主启动代码中设置 Application.MainFormOnTaskBar := true;,以便应用程序与 Vista+ 正确交互。迁移 D2007 之前的项目时,MainFormOnTaskBar 默认为 false。