«Перехват и сохранение положения форм в Firemonkey для автоматического открытия в предыдущем положении»Delphi , ОС и Железо , Справочник по сообщениямСтатья: Перехват и сохранение положения форм в Firemonkey для автоматического открытия в предыдущем положении При разработке пользовательских интерфейсов часто возникает потребность сохранять и восстанавливать предыдущее положение форм для удобства пользователей. В этом материале мы рассмотрим, как это можно сделать в Firemonkey, учитывая особенности этой технологии и отсутствие событий, которые бы срабатывали при перемещении формы на экране. Проблема Разработчик хочет перехватывать положение каждой формы при открытии, чтобы сохранять и восстанавливать его при следующем открытии. Для портирования приложения на MAC было решено использовать Firemonkey. Однако, в отличие от VCL, Firemonkey не имеет события, которое бы срабатывало при перемещении формы на экране. Попытки перехватить сообщение, которое должно отправляться при перемещении, не увенчались успехом, что заставило разработчика предположить, что формы Firemonkey не работают так же, как формы VCL. Ошибка в подходе Первая ошибка заключается в том, что разработчик не переопределяетExisting virtual method, а создает свою собственную виртуальную метод, которая не подключена ни к чему. Именно поэтому она никогда не вызывается. Вторая ошибка связана с тем, что, в отличие от VCL, Firemonkey не отправляет сообщения окна в виртуальный метод Решение Для перехвата сообщений окна в Firemonkey на Windows можно использовать API Win32 Для MacOS придется использовать-platform-specific API, который экспонируется MacOS, чтобы подключиться к окнам. Необходимо использовать Однако, есть лучший альтернативный подход - использовать функцию сохранения состояния в Firemonkey. В событии Пример кода на Object Pascal (Delphi) для сохранения и восстановления положения формы:
В этом примере, при создании формы, вызывается процедура Статья описывает решение проблемы сохранения и восстановления положения форм в Firemonkey для автоматического открытия в предыдущем положении, учитывая отсутствие событий перемещения формы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Справочник по сообщениям ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |