Проблема с масштабированием изображений в TScrollBox после изменения размераDelphi , Компоненты и Классы , TScrollBoxЗаголовок: Решение проблемы с масштабированием содержимого в FMX TScrollBox Вопрос: В TScrollBox, содержащем вертикально стэкированные TImageControls, при масштабировании изображений и перерасчете положений ImageControl размер содержимого Scrollbox не обновляется правильно. При масштабировании меньше 1 есть лишнее пространство внизу, а при масштабировании больше 1 последний образ обрезается. Попытки вызова различных рутин (AdjustSizeValue, InvalidateContentSize, RecalcUpdateRect, RecalcSize и т.д.) не приводят к изменениям. Решение: Для решения этой проблемы необходимо добавить вызов метода RecalcSize для ScrollBox в обработчике изменения значения трекбара (TrackBar1Change). Вот исправленный код:
Причина проблемы заключается в том, что после изменения масштаба содержимого ScrollBox не пересчитывает свой размер. Вызов метода RecalcSize решает эту проблему, заставляя ScrollBox правильно определять размер своего содержимого после изменения масштаба. Примечание: При масштабировании ScrollBox содержимое масштабируется правильно, но полосы прокрутки становятся очень толстыми или очень тонкими. Возможно, есть обходной путь, чтобы полосы прокрутки оставались нормальными, но это выходит за рамки текущего вопроса. Оригинальный код (Unit3.pas и форма form1.fmx) можно найти в контексте вопроса. Пользователь описывает проблему с масштабированием содержимого в TScrollBox и предлагает решение, добавляя вызов метода RecalcSize в обработчик изменения значения трекбара, чтобы правильно определять размер содержимого после изменения масштаба. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TScrollBox ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |