Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Создание Мультистрочного Кастомного Стиля для Списка в Firemonkey с Delphi 10.1 Berlin

Delphi , Компоненты и Классы , Списки

В данной статье рассматривается процесс создания кастомного стиля для элемента списка в приложениях Firemonkey, используя Delphi 10.1 Berlin. Мы рассмотрим проблему, с которой сталкиваются разработчики при необходимости размещения нескольких меток, прогресс-баров и кнопок в каждом элементе списка таким образом, чтобы элементы были расположены в две строки.

Описание проблемы

Разработчик стремится создать кастомный стиль для элемента списка в приложении Firemonkey, который включает в себя две метки, два прогресс-бара и три кнопки. Кнопки должны быть выровнены по правому краю, а оставшиеся элементы управления - размещены в две строки: в верхней строке должна быть размещена метка (выровненная по левому краю) и прогресс-бар (выровненный по правому краю), а в нижней - еще одна метка и прогресс-бар.

Пример желаемого расположения элементов:

Пример расположения элементов

Разработчик смог добиться расположения элементов в одной строке, но не смог правильно разместить их в две строки. Попытки использовать TGridLayout и TGridPanelLayout не увенчались успехом, так как элементы управления в стиле вели себя неожиданным образом.

Решение проблемы

Исходный стиль для одного ряда элементов управления:

Ссылка на стиль

Разработчик также пытался добавить общий макет для двух строк элементов, используя отдельные макеты для каждой строки. Однако, при выравнивании одного макета по верху и другого - по низу, возникал промежуток при изменении размера окна.

Проблема с промежутком при изменении размера

Подтвержденное решение

В ходе решения проблемы было обнаружено, что использование якорных свойств (Anchors) для верхнего и нижнего макетов позволяет устранить промежутки и достичь желаемого вида расположения элементов.

// Пример кода для верхнего макета с якорями
TLayout *TopLayout = new TLayout(nil);
TopLayout->Anchors = [akLeft, akTop];
TopLayout->Layout = tlmHorizontal;
TopLayout->Items->Add(Label1);
TopLayout->Items->Add(ProgressBar1);
// Пример кода для нижнего макета с якорями
TLayout *BottomLayout = new TLayout(nil);
BottomLayout->Anchors = [akLeft, akBottom];
BottomLayout->Layout = tlmHorizontal;
BottomLayout->Items->Add(Label2);
BottomLayout->Items->Add(ProgressBar2);

Использование якорных свойств позволяет элементам макета правильно масштабироваться и занимать доступное пространство, минимизируя риск возникновения промежутков.

Заключение

В данной статье мы рассмотрели, как можно решить проблему размещения элементов управления в кастомном стиле списка в Firemonkey с использованием Delphi 10.1 Berlin. Применение якорных свойств в макетах позволяет достичь мультистрочного расположения элементов, сохраняя при этом корректное поведение при изменении размеров окна.

Этот метод можно использовать в качестве основы для создания более сложных и детализированных стилей элементов списка в приложениях Firemonkey.

Создано по материалам из источника по ссылке.

Разработчик в Delphi 10.1 Berlin создаёт кастомный стиль для списка в Firemonkey, чтобы разместить элементы управления (метки, прогресс-бары, кнопки) в две строки с определённым расположением.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Списки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-09 08:52:57/0.0059490203857422/0