Вы можете использовать функцию UNBINDEVENTS() для отвязки или отсоединения события, которое было привязано к объекту Visual FoxPro с помощью функции BINDEVENT(). Для отсоединения события от объектов Component Object Model (COM), используйте функцию EVENTHANDLER(). Имеется три версии синтакиса вызова этой функции.
UNBINDEVENTS(oEventSource, cEvent, oEventHandler, cDelegate) |
UNBINDEVENTS(oEventObject) |
UNBINDEVENTS(hWnd [, nMessage]) |
Параметры
- oEventSource
-
указывает источник события, который должен быть полноценным действительным объектом Visual FoxPro.
- oEventObject
-
указывает объектную ссылку, которая может быть использована, как источник события или обработчик события.
- cEvent
-
указывает имя события, метода или свойства, которое вы желаете отсоединить.
- oEventHandler
-
указывает объект, который обслуживает событие.
- cDelegate
-
указывает уполномоченный метод (метод-делегат), обрабатывающий событие для oEventHandler.
- hWnd
-
указывает целочисленное значение дескриптора окна, для которого отсоединяется событие.
Если hWnd передано значение 0, отсоединяются все дескрирторы окон.
Если параметр nMessage parameter не включе в состав команды, то тогда происходит отсоединение всех привязок Windows message bindings для окна с дескриптором hWnd.
- nMessage
-
Указывает действительное сообщение Windows message (Win Msg), привязку к которому нужно высвободить.
Возвращаемое значение
Численный тип данных. UNBINDEVENTS() возвращает число событий, которые отсоединены, если операция отсоединения прошла успешно. UNBINDEVENTS() возвращает значение 0, если не имеется событий, которые необходимо отсоединить. Visual FoxPro генерирует ошибку, в случае если UNBINDEVENTS() не в состоянии отсоединить событие, которое доступно для этой операции.
Примечания
В приведенной ниже таблице описываются способы использования UNBINDEVENTS( ).
Синтаксис | Действие |
---|---|
|
Отсоединяет указанное событие от обработчика событий. |
|
Отсоединяет все события, ассоциированные с этим объектом. Это включает события, которые привязаны к нему, как источнику события и его методы-делегаты, которые подавались, как обработчики события. |
|
Отсоединяет все или конкретные события Windows Message (Win Msg). |
Если произошло событие, а метод UNBINDEVENTS() вызван или вызван метод-делегат, обрабатывающий событие, событие и метод-делегат завершатся до того, как функция UNBINDEVENTS( ) отсоединит событие.
Вы можете вызвать функцию AEVENTS() для извлечения информации обо всех событиях и методах-делегатах, присоединенных к конкретному объекту.
Пример
В приведенном примере показано, как откатить назад вызов , который поддерживает позиционирование с правой стороны рабочего стола Visual FoxPro, в независимости от того, каким способ изменяются размеры рабочего стола. UNBINDEVENTS() отсоединяет событие системной переменной _SCREEN от объекта oHandler
:
![]() | |
---|---|
PUBLIC oHandler oHandler=NEWOBJECT("myhandler") DO (_browser) BINDEVENT(_SCREEN,"Resize",oHandler,"myresize") UNBINDEVENTS(_SCREEN,"Resize",oHandler,"myresize") DEFINE CLASS myhandler AS Session PROCEDURE myresize _obrowser.left = _SCREEN.Width - _obrowser.width RETURN ENDDEFINE |
Смотрите также
Справочное руководство
Функция AEVENTS()Функция BINDEVENT()
Функция EVENTHANDLER()
Функция RAISEEVENT()
SYS(2325) - WCLIENTWINDOW из Visual FoxPro WHANDLE
SYS(2326) - WHANDLE из a Window's hWnd
SYS(2327) - Window's hWnd из Visual FoxPro WHANDLE