Access 2002

Процедуры обработки событий


После такого объявления можно будет написать процедуры обработки событий SpinUp, SpinDown и Change. События Spinllp и SpinDown в процедурах их обработки можно отменить, присвоив параметру Cancel значение True (см. пример frmSpinTest).

Класс SpinButtons работает с числами и датами. Если в текстовое поле ввести дату или число, кнопки будут уменьшать его или увеличивать.

Как и другие классы, описанные в этой главе, класс SpinButtons подключается к элементам управления формы через объектные переменные, объявленные с ключевым словом WithEvents. Поэтому пользователю класса SpinButtons не нужно писать обработчики событий командных кнопок — достаточно присвоить ссылки на их объекты соответствующим свойствам объекта SpinButtons. Все остальное этот объект сделает сам.

Когда вы присваиваете ссылку на элемент управления свойству объекта нашего класса Control, UpButton или DownButton, эта ссылка присваивается объектной переменной, объявленной с ключевым словом WithEvents. Впоследствии свойствам-событиям данной переменной присваивается значение [Event Procedure].  6.16 приведена процедура установки свойства UpButton.

После определения необходимых элементов управления класс может реагировать на события Click и KeyPress командных кнопок и изменять значение связанного с ними текстового поля.

Чтобы сделать наш класс похожим на элемент управления ActiveX, мы снабдили его тремя событиями: SpinUp, SpinDown и Change. Первые два инициируются перед изменением значения текстового поля, позволяя вам отменить это изменение. После изменения значения поля инициируется событие Change.

Командные кнопки Command Button поддерживают те же события, что и другие элементы управления. Как правило, из всех этих событий используется только одно — Click. Наличие еще одного подобного события, DblClick, может побудить вас связать с этими двумя событиями различные действия приложения. Это не имеет смысла, так как Access указанные события не различает и всегда инициирует событие Click перед инициализацией события DblClick. Иногда эта особенность Access оказывается полезной: если действия, выполняемые в ответ на событие DblClick, дополняют действия, выполняемые обработчиком события Click. Однако едва ли вам часто придется использовать событие DblClick.

Комментарии закрыты