delphi7, преобразованный в значок панели задач приложения delphi tokyo, не хочет перемещаться на приложение второго экрана

#delphi-10.2-tokyo #multiscreen

#delphi-10.2-Токио #мультиэкранный

Вопрос:

мои приложения delphi7 всегда отображаются на панели задач основного монитора экрана 😣, теперь в delphi 10.2, если я перемещаю приложение на второй экран, значок панели задач перемещается на второй экран 🆒. Итак, теперь моя проблема связана со старыми приложениями delphi7, которые я открываю и компилирую с помощью delphi 10.2, у них все еще старое поведение 😱. Итак, как я могу это решить?? 🤔

Ответ №1:

В Delphi 7 все TForm окна принадлежат скрытому TApplication окну во время выполнения, которое фактически управляет кнопкой на панели задач приложения. Это окно остается на основном мониторе при перемещении форм на другие мониторы. Вот почему вы не видите, как кнопка панели задач приложения перемещается на другие мониторы.

В Delphi 2007 и более поздних версиях TForm Windows по умолчанию в Vista скрытое TApplication окно больше не принадлежит Windows. Такое поведение контролируется TApplication.MainFormOnTaskBar свойством, которого еще не существовало в Delphi 7. Принадлежность к скрытому TApplication окну вызывает всевозможные проблемы в Vista для панели задач, переключателя задач, Aero и т.д., поэтому ShowMainFormOnTaskBar всегда должно быть установлено значение true.

При обновлении вашего проекта Delphi 7 до Delphi 10.2 обязательно установите Application.MainFormOnTaskBar := true; в основном коде запуска приложения, чтобы приложение правильно взаимодействовало с Vista . MainFormOnTaskBar по умолчанию имеет значение false при переносе проекта, созданного до D2007.