Как было анонсировано в прошлом году, в Delphi 10.4.2 добавлены новые VCL-контролы. С учетом того, что разработчики RAD Studio нас не часто балуют подобным, это заслуживает внимания. О виртуальном listview в стиле DBCtrlGrid – TControlList, я уже писал. Сейчас я расскажу о новом контроле для вода числовых значений – TNumberBox.
TNumberBox – это элемент управления для ввода числовых значений трех видов: целых чисел, чисел с плавающей запятой и значений валют. Разработан он по образцу NumberBox из библиотеки пользовательского интерфейса Windows (WinUI). Выглядит контрол действительно неплохо, а множество настроек позволит настроить его под различные требования. На диалоге вы видите, как меняется внешний вид TNumberBox в зависимости от настроек формата числа (nbmInteger, nbmFloat и nbmFloat) и варианта кнопок редактора (nbspNone, nbspCompact и nbspInline).
Особо хочется отметить понравившееся мне свойство "AcceptExpressions". Если его установить в True, то TNumberBox получает возможность вычислять простые арифметические выражения. Этот "калькулятор" поддерживает сложение, вычитание, умножение и деление (с возможностью использовать скобки). Если на диалоге в нижнем TNumberBox нажать Enter или перевести фокус на другой контрол, то выражение "((123 - 3) / 2 + 4 * 5) + 43" будет вычислено и заменено на его результат. При этом доступ к тексту выражения и его значению можно получить из кода программы. Более подробно о TControlList, TControlListButton (аналог TSpeedButton, который можно использовать с TControlList) и TNumberBox можно почитать у Марко Канту.
TNumberBox – это элемент управления для ввода числовых значений трех видов: целых чисел, чисел с плавающей запятой и значений валют. Разработан он по образцу NumberBox из библиотеки пользовательского интерфейса Windows (WinUI). Выглядит контрол действительно неплохо, а множество настроек позволит настроить его под различные требования. На диалоге вы видите, как меняется внешний вид TNumberBox в зависимости от настроек формата числа (nbmInteger, nbmFloat и nbmFloat) и варианта кнопок редактора (nbspNone, nbspCompact и nbspInline).
Особо хочется отметить понравившееся мне свойство "AcceptExpressions". Если его установить в True, то TNumberBox получает возможность вычислять простые арифметические выражения. Этот "калькулятор" поддерживает сложение, вычитание, умножение и деление (с возможностью использовать скобки). Если на диалоге в нижнем TNumberBox нажать Enter или перевести фокус на другой контрол, то выражение "((123 - 3) / 2 + 4 * 5) + 43" будет вычислено и заменено на его результат. При этом доступ к тексту выражения и его значению можно получить из кода программы. Более подробно о TControlList, TControlListButton (аналог TSpeedButton, который можно использовать с TControlList) и TNumberBox можно почитать у Марко Канту.
Комментариев нет:
Отправить комментарий