Повторное использование разработанных кодов___________________425

катора типа TCheckBox. Два из них (назовите их CBNum и CBLet) указывают до-
пустимость ввода цифр и букв. О третьем речь пойдет в следующем разделе.
Обработчик события OnCreate формы может иметь вид:

void   fastcall TFormI::FormCreate(TObject *Sender)
{

if (EditLetNuml->Modified)
Labell->Caption = "Modified = true";

else Labell->Caption = "Modified = false";

}

Этот обработчик заносит в метку Labell сообщение о текущем значении свой-
ства Modified.

В обработчике события OnKeyUp компонента EditLetNum напишите опера-
тор:

FormCreate(Sender) ;

Этот оператор вызывает тот же приведенный выше обработчик события OnC-
reate формы для отображения текущего значения Modified.

Обработчик события OnClick индикатора CBNum может иметь вид:

EditLetNuml->EnableNum = CBNum->Checked;

CBLet->Checked = EditLetNuml->EnableLet;

EditLetNuml->SetFocus();

Первый оператор этого обработчика устанавливает значение параметра Enab-
leNum в зависимости от состояния индикатора CBNum. Второй оператор устанав-
ливает состояние индикатора CBLet равным значению параметра EnableLet. Это
надо, поскольку если, например, сбрасывается в false значение параметра Enable-
Num, а значение параметра EnableLet в этот момент тоже было равно false, то
компонент EditLetNumI установит значение EnableLet равным true. И надо, что-
бы это новое значение отобразилось в индикаторе CBLet.

Аналогично может выглядеть обработчик события OnClick индикатора CBLet:

EditLetNuml->EnableLet = CBLet->Checked;

CBNum->Chec)<ed = EditLetNuml->EnableNum;

EditLetNuml->SetFocus() ;

В обработчике события OnClick кнопки Clear напишите:

EditLetNuml->Clear() ;

FormCreate(Sender) ;

Это проверит работу введенного вами метода Clear и отобразит на экране изме-
нение значения свойства Modified.

Оттранслируйте компонент. В вашем тестовом приложении установите свой-
ства EnableNum и EnableLet в соответствии с тем, какие исходные установки ин-
дикаторов CBNum и CBLet вы задали. Запустите тестовое приложение и проверьте
его в работе при различных значениях свойств EnableNum и EnableLet.

7.3.2.4 События

В нашем примере требуется ввести событие OnClear, происходящее в момент
очистки окна методом Clear. В C++Builder событие — это просто специальное
свойство, являющееся указателем функции. Тип обобщенного указателя на функ-
цию, которой передается один параметр типа TComponent (обычно this), — TNoti-
fyEvent. Подобный тип используется в C++Builder для событий типа OnClick и
многих других, которые передают в обработчик только один параметр — TObject*
Sender. Подойдет этот тип и нам для события OnClear.

В этом случае объявления нашего события могут иметь вид: