Freigeben über


_DeActivateHandler( ), API-Bibliotheksroutine

_DeActivateHandler( ) entfernt die angegebene Ereignisbehandlungsroutine aus der Ereignisverarbeitungsliste.

void _DeActivateHandler(unsigned int EventIdentifier)
unsigned int EventIdentifier;      /* ID of event handler
 to be removed from list. */

Hinweise

Sie müssen jede mit EventIdentifier angegebene Ereignisbehandlungsroutine beim Entfernen der Bibliothek aus der Behandlungsroutinenliste entfernen.

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel wird eine Ereignisbehandlungsroutine beim Laden der Bibliothek aktiviert. Die Ereignisbehandlungsroutine druckt für jedes Ereignis eine Meldung und ermöglicht Visual FoxPro das Verarbeiten dieser Meldung. Die Ereignisbehandlungsroutine wird beim Entfernen der Bibliothek deaktiviert. Wie auch im folgenden Beispiel wird _DeActivateHandler( ) normalerweise aus einer CALLONUNLOAD-Funktion aufgerufen.

Visual FoxPro-Code

SET LIBRARY TO DEACTHAN

C-Code

#include <pro_ext.h>

static int HandlerID;

//   This is the routine that is registered as an event handler.
FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
   _PutStr("\nEventHandler() called.");
   return NO;   // event still needs to be handled by Visual FoxPro
}

FAR Activate()
{
   HandlerID = _ActivateHandler(EventHandler);
}

//   When the library is unloaded we must deactivate the event handler
//   in a CALLONUNLOAD function.
FAR DeActivate()
{
   _DeActivateHandler(HandlerID);
}

FoxInfo myFoxInfo[] = {
   {"ACTIVATE",  (FPFI) Activate, CALLONLOAD, ""},
   {"DEACTIVATE", (FPFI)  DeActivate, CALLONUNLOAD, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

_ActivateHandler( ), API-Bibliotheksroutine | _FindWindow( ), API-Bibliotheksroutine | _GlobalToLocal( ), API-Bibliotheksroutine | _MousePos( ), API-Bibliotheksroutine