FloatSpinEdit. Компонент для ввода целых и дробных чисел
Раздел Сокровищница |
В своих приложениях часто сталкиваюсь с необходимостью обеспечить удобный ввод дробных чисел. Для этого разработал компонент TFloatSpinEdit. Более чем уверен что подобных компонент разработано немало, но в силу лени и прочего, не искал оного в Internet, а написал своё.
Компонент FloatSpinEdit предназначен для ввода чисел целых и дробных чисел.
Вводить число можно как непосредственно с клавиатуры в поле ввода, так и увеличивая/уменьшая его значение при помощи компонента типа TUpDown или клавиш Up/Down. Кроме этого осуществляется контроль допустимого диапазона вводимого числа и корректности ввода. Существует так же возможность отображения суффикса (например "А/м"), после числа.
Компонент представляет собой контейнер (TWinControl), содержащий два компонента FEdit(TFloatEdit - потомок TEdit) и FUpDown(TUpDown)."
В компоненте введены следующие новые свойства, доступные как на стадии разработки, так и на стадии выполнения:
- UpDownPosition - определяет положение компонента FUpDown относительно, компонента FEdit (слева/справа), значение по умолчанию справа;
- Precision(0..15) - определяет отображаемое количество значащих цифр, введённого числа Значение по умолчанию равно 2;
- Sufix(string) - строка длинною не более 20 символов, определяющая суффикс (например "см") выводимый после введённого числа через пробел. По умолчанию - пустая строка;
- Min(Extended) - определяет минимально допустимое значение вводимого числа. По умолчанию равно 100;
- Max(Extended) - определяет максимально допустимое значение вводимого числа. По умолчанию равно -100;
- Step(Extended) - определяет шаг изменения значения вводимого числа, при изменении его значения посредством клавиш Up/Down или компонента UpDown. По умолчанию равно 0.25;
- NumberValue(Extended) - определяет значение введённого числа, если введеноn некорректное число, свойство принимает значение DefNumberValue;
- DefNumberValue(Extended) - определяет значение числа, при вводе некорректного значения. По умолчанию равно 0;
- ArrowKeys(Boolean) - определяет можно ли использовать клавиши Up/Down для изменения значения вводимого числа. По умолчанию True;
- CheckOnExit(Boolean) - определяет, будет ли контролироваться значение введённого числа, при потере компонентом фокуса.
В определенных случаях будет так же проконтролировано символьное представление числа в свойстве Text, после чего свойство Text будет отформатировано в соответствии со свойствами Precision и Sufix:
- изменение значения вводимого числа клавишами Up/Down или посредством компонента FUpDown;
- при потере компонентом фокуса (событие OnExit), если задан флаг CheckOnExit;
Скачать (35 К)