Обработка событий формы

Для задания обработки событий, которые генерируются при работе пользователя с формами, используйте обработчик событий.

Обработчик событий - это модуль, созданный на языке Fore. Обработчик событий позволяет задавать действия при наступлении определенных событий, расширяя функциональные возможности форм ввода.

После завершения настройки связей между формами или элементами формы, если требуется, перейдите к шагу:

Подключение обработчика событий

Для подключения обработчика событий выполните команду «Задать обработчик» раскрывающегося меню кнопки  «Обработчик» панели инструментов. Будет открыто окно «Задать обработчик»:

Задайте:

В классе для обработки событий может содержаться конструктор, который будет вызываться при каждой инициализации класса. Конструктор должен быть без параметров. Если в классе несколько конструкторов без параметров, то будет вызываться самый первый, расположенный в коде выше других.

Примечание. Инициализация класса-обработчика происходит каждый раз, когда в форме ввода выполняется какое-либо действие. При этом может генерироваться как одно событие, так и целая цепочка событий.

Завершите выбор, нажав кнопку «Применить». Кнопка становится доступной после выбора класса.

Для отмены использования обработчика событий выполните команду «Сбросить» кнопки  «Обработчик» панели инструментов.

Пример модуля

Для выполнения примера создайте модуль. Добавьте ссылки на системные сборки: Drawing, Express, Report, Tab.

Class EventsClass: ReportEvents
    Public Sub OnAfterRecalcSheet(Sheet: IPrxSheet);
    Var
        Tab: ITabSheet;
        Range: ITabRange;
        Style: ITabCellStyle;
    Begin
        // Получим таблицу листа формы ввода
        Tab := Sheet As ITabSheet;
        // Выберем диапазон ячеек для раскрашивания
        Range := Tab.Cells(00105);
        // Зададим стиль оформления для выбранного диапазона
        Style := Range.Style;
        // Установим закраску фона ячеек выбранного диапазона зелёным цветом
        Style.BackgroundBrush := New GxSolidBrush.Create(GxColor.FromName("Green"));
    End Sub OnAfterRecalcSheet(Sheet: IPrxSheet);
End Class EventsClass;

В результате при наступлении события, происходящего после вычисления листа формы ввода, фон диапазона ячеек A0:F10 будет перекрашен в зелёный цвет.

См. также:

Построение формы ввода | Работа с готовой формой ввода