На этом шаге мы рассмотрим компонент TRxCalcEdit.

   
Компонент TRxCalcEdit служит для ввода и редактирования чисел
и денежных сумм. Имеет те же свойства и методы, что и TСurrencyEdit
(см. след. компонент).
   
Дополнительно TRxCalcEdit имеет кнопку с возможностью вызова
простого popup-калькулятора, позволяющего произвести четыре арифметических действия.
После проведения вычислений и закрытия калькулятора полученное значение заносится
в строку ввода(рис.1).


Рис.1. Компонент TRxCalcEdit
   
Рассмотрим свойства компонента TRxCalcEdit :

Таблица 1. Свойства компонента TRxCalcEdit

Свойство Описание
property ButtonWidth: Integer; Ширина кнопки, являющейся составной частью TRxCalcEdit.
Если это свойство имеет значение 0, то кнопка не показывается и событие
OnButtonClick не вызывается (несмотря на значение свойства
ClickKey).
property DirectInput: Boolean; Свойство отвечает за разрешение (или запрет) прямого ввода данных в строку
редактирования компонента TRxCalcEdit.
DirectInput = False - прямой ввод данных в строку запрещен,
и пользователь должен использовать кнопку для вызова диалога для внесения изменений
в данные компонента.
property DisplayFormat: string; Свойство задает формат отображения данных в компоненте
TRxCalcEdit (При получении компонентом фокуса ввода форматирование
данных отменяется и ввод происходит как в обычную строку ввода
TEdit, при потере фокуса ввода данные форматируются согласно
заданному формату).
property DecimalPlaces : Word; Свойство определяет максимально допустимое число десятичных знаков при вводе и
изменении данных в строке редактирования компонента TRxCalcEdit.
Используется, когда строка имеет фокус ввода. При отображении значения в несфокусированной
строке редактирования свойство не используется - применяется маска, заданная свойством
DisplayFormat.
property Value: Extended; Свойство позволяет установить (или получить) численную величину значения,
отображаемого в строке ввода. В случае пустой строки возвращается значение 0.
property BeepOnError: Boolean; Если значение этого свойства установлено в True
(по умолчанию False), то при ошибках ввода с клавиатуры
(недопустимых символов и т.д.) раздается звуковой сигнал.
property CheckOnExit: Boolean; Свойство определяет, будет ли проверяться правильность допустимого диапазона числа
в компонентах TRxCalcEdit, TCurrencyEdit при
потере фокуса строкой редактирования.
CheckOnExit = True – в случае ввода недопустимого значения происходит исключение.

   
Приведем пример: создадим приложение, которое продемонстрирует работу компонента
TRxCalcEdit.

   
Поместим на форму компоненты RxCalcEdit1,
ComboEdit1, RxLabel1,
RxLabel2 и RxSwitch1 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxCalcEdit1,
ComboEdit1, RxLabel1,
RxLabel2 и RxSwitch1

   
RxLabel1.Caption =' Формат отображения данных'.

   
RxLabel2.Caption=' Прямой ввод данных в строку'.

   
При нажатии на кнопку строки редактирования ComboEdit1 будет
происходить смена формата изображения в строке редактирования
RxCalcEdit1. Свойству Text компонента
ComboEdit1 придадим значение 0.

   
Для компонента RxSwitch1:

   
RxSwitch1.TextPosition=tpBellow;

   
RxSwitch1.StateOn=False;

   
RxSwitch1.Caption=' запрещен ';

   
Для компонента RxCalcEdit1 напишем обработчик события
OnButtonClick :

procedure TForm1.RxCalcEdit1ButtonClick(Sender: TObject);
begin
   Showmessage('Вы открыли калькулятор!');             
end;

   
Для компонента RxSwitch1 напишем обработчик события
On :

procedure TForm1.RxSwitch1On(Sender: TObject);
begin
  RxSwitch1.Caption:='разрешён';
  RxCalcEdit1.DirectInput:=True;
end;

   
Для компонента RxSwitch1 напишем обработчик события
Off:

procedure TForm1.RxSwitch1Off(Sender: TObject);
begin
  RxSwitch1.Caption:='запрещён';
  RxCalcEdit1.DirectInput:=False;
end;

   
Для компонента ComboEdit1 напишем обработчик события
OnButtonClick:

procedure TForm1.ComboEdit1ButtonClick(Sender: TObject);
begin
     RxCalcEdit1.DisplayFormat:=ComboEdit1.Text;
end;

   
Работа программы показана на рис.3(а-в).


Рис.3а. Прямой ввод данных в строку редактирования компонента RxCalcEdit1 запрещён


Рис.3б. Изменение формата отображения данных


Рис.3в. Прямой ввод данных в строку редактирования компонента RxCalcEdit1 разрешен

   
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TСurrencyEdit.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий