Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Новости

В RAD Studio 10.4.2 появятся два новых элемента управления VCL

vcl1042_01

Среди новых функций в следующем выпуске Delphi, C ++ Builder и RAD Studio 10.4.2 Embarcadero будет включать два совершенно новых элемента управления VCL, виртуализированный элемент управления списком и числовое поле ввода.

Предупреждение: это сообщение в блоге касается неизданного продукта, который может быть изменен до GA.

Релиз RAD Studio 10.4.2 приближается, и вы можете присоединиться к нашему предварительному веб-семинару завтра, см.  Https://blogs.embarcadero.com/whats-coming-in-10-4-2-sydney/ . Это некоторая предварительная информация (или ведение бета-блога) в одной конкретной области, новые элементы управления VCL.

Новый элемент управления VCL TControlList

Embarcadero представляет в библиотеке VCL новый гибкий и виртуализированный элемент управления списком. Идея этого элемента управления состоит в том, чтобы предложить новый современный элемент управления VCL, предлагающий настраиваемую конфигурацию пользовательского интерфейса и элемент управления высокой производительности, который можно использовать с очень длинными списками. Этот список представляет собой единый список выбора, и все элементы визуально имеют одинаковую высоту и ширину.

vcl1042_01-2636775

Новый элемент управления позволяет разработчику определять содержимое, создавая один из элементов списка с использованием графических элементов управления (то есть потомков TGraphicControl) и предоставлять данные элементу управления для отображения отдельных элементов, не создавая все элементы управления для всех элементы в списке, но только те, которые необходимы для отображения данных. Будучи полностью виртуальным, список может обрабатывать тысячи и даже миллионы элементов, предлагая чрезвычайно быструю прокрутку. Помимо вычисления и отображения только тех элементов, которые умещаются на экране, список кэширует содержимое элементов, используя точечные рисунки в памяти.

Новый элемент управления напоминает классический элемент управления TDBCtrlGrid — есть панель для элементов управления, вы помещаете на нее элементы управления и создаете виртуальные элементы во время выполнения. В отличие от DBCtrlGrid мы можем поместить на него только TGraphicControl, и все элементы являются виртуальными. Ниже вы можете увидеть элемент управления во время разработки (с поверхностью одного элемента, доступной для редактирования) и во время выполнения (с одним и тем же содержанием, умноженным во много раз).

vcl1042_02-6129074

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

С предыдущим дизайном, 10000 элементов и нескольких столбцов этот тривиальный код дает результат, как показано ниже:

vcl1042_03-7804420

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

Создаваемый вами элемент реплицируется (виртуально) для каждого из элементов, запрошенных с помощью свойства ItemCount. На видимой поверхности элемента управления обычно можно разместить несколько элементов одинаковой ширины и высоты. У элемента управления есть 3 разных макета:

  • Single для отдельных столбцов элементов, и в этом случае ширина элемента будет соответствовать ширине элемента управления.
  • Функция Multi Top To Bottom позволяет использовать несколько столбцов и будет использовать доступное вертикальное пространство перед переходом к следующему столбцу, предлагая вертикальную прокрутку.
  • Multi Left To Right также позволяет использовать несколько столбцов, но использует другой макет и режим горизонтальной прокрутки (см. Изображение ниже).

В общих чертах вы можете использовать событие OnClick для любого элемента управления в списке элементов управления. Элемент управления поддерживает параметры High-DPI и стили VCL, а также полностью поддерживает Live Bindings.

Новый компонент TControlListButton

Мы не можем использовать TSpeedButton непосредственно на панели, потому что элемент управления не обрабатывает специальные взаимодействия, такие как изменение состояния кнопки. Для элементов управления, которые могут иметь разные состояния, мы добавили специальный класс TControlListControl (унаследованный от TGraphicControl). Вы можете создавать новые элементы управления, которые наследуются от класса TControlListControl и могут использовать события мыши для своих элементов. Это подход, используемый TControlListButton — аналогом TSpeedButton, который можно использовать с TControlList. У этой кнопки есть 3 стиля — кнопка, кнопка инструмента и ссылка.

Новый элемент управления VCL TNumberBox

Новый элемент управления VCL TNumberBox — это современный элемент управления числовым вводом, смоделированный по образцу элемента управления WinUI NumberBox платформы Windows. Элемент управления поддерживает ввод целых чисел, чисел с плавающей запятой с заданным набором десятичных цифр и правильного форматирования, а также значений валют:

vcl1042_04real-7299486

Пользователь может увеличивать или уменьшать значение с помощью кнопок со стрелками или разрешающих клавиш или колеса мыши, а также увеличивать и уменьшать на большое значение с помощью клавиш Page Up и Page Down. Компонент включает дополнительную кнопку прокрутки (настроенную с помощью свойства SpinButtonOptions Placement), которая может быть компактной, встроенной или отключенной, как показано здесь соответственно:

vcl1042_04-2313835

Компонент также поддерживает простую оценку выражений; если этот параметр включен, пользователь может ввести выражение типа 40 + 2, и элемент управления заменит его результатом. Элемент управления поддерживает встроенные вычисления основных уравнений, таких как умножение, деление, сложение и вычитание (с возможностью использования круглых скобок). Обратите внимание, что вы можете использовать символы + и — как двоичные, так и унарные операции, поэтому вы можете ввести -23 или + 23, вы можете написать 55 + 23 и 55-23 и даже объединить их, как в 53 ++ 23 или 53 –23, что оценивается как 53 — (-23). таким образом складывает два значения.

Будьте на связи

На этом пока все. Настройтесь на завтрашний предварительный веб-семинар и (после его выпуска) загрузите пробную версию, чтобы поэкспериментировать с этими новыми элементами управления VCL.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

IN THE ARTICLES