Файл: ...\Samples\Solution\Toledo\FrmEvents.scx

Этот образец демонстрирует првязку событий, инициирование событий программным способом, освобождение событие и извлечение информации о событии для системной переменной _SCREEN иди для главного окна Visual FoxPro. В примере, вы можете вручную привязать событие для _SCREEN путем выбора события из комбобокса или вызвать те же самые события и их соответствующие обработчики с помощью мыши.

Для получения более подробной информации о _SCREEN, смотрите описание Системная переменная _SCREEN.

Привязка событий

Для ответа на события Visual FoxPro, используйте функцию BINDEVENT( ). В этом примере, функция BINDEVENT( ) вызывается в пользовательском методк InitBindEvent и привязывает несколько событий _SCREEN к методам формы. Когда происходит одно из событий _SCREEN, вызывается метод соответствующего обработчика:

  CopyCode imageСкопировать код
BINDEVENT(_SCREEN,"Resize",ThisForm,"screenresize")
BINDEVENT(_SCREEN,"Mousedown",ThisForm,"screenmousedown")
BINDEVENT(_SCREEN,"Mouseup",ThisForm,"screenmouseup")
BINDEVENT(_SCREEN,"Rightclick",ThisForm,"screenrightclick")
BINDEVENT(_SCREEN,"Dblclick",ThisForm,"screendblclick")

Для получения более подробной информации, смотрите описание BINDEVENT() и Событие Init.

Инициирование события программным способом

Для программного инициирования события, используйте функцию RAISEEVENT(). В этом примере, когда производится выборка в комбобоксе, событие InteractiveChange использует возвращаемое значение для программного инициирования указанного события.

  CopyCode imageСкопировать код
RAISEEVENT(_SCREEN,this.Value) 

Для получения более подробной информации, смотрите описания Функция RAISEEVENT() и Событие InteractiveChange.

Unbinding Events

Для освобождения обработчиков события, используйте функцию UNBINDEVENTS(). В этом примере, освобождение событий для _SCREEN производится в пользовательском методе UnbindHandlers .

  CopyCode imageСкопировать код
UNBINDEVENTS(_SCREEN)

Для получения более подробной информации, смотрите описания Функция UNBINDEVENTS().

Извлечение информации о привязках событий

Для извлечения существующих привязок событий в массив, используйте функцию AEVENTS(). В этом примере, пользовательский метод ScreenDblClick, который привязан к событию _SCREEN DblClick, использует функцю AEVENTS( ) для вывода числа связанных событий:

  CopyCode imageСкопировать код
AEVENTS(laEvents,Thisform)

Для получения более подробной информации, смотрите описания Функция AEVENTS() и Событие DblClick.

Смотрите также