Zum Hauptinhalt springen

EvtFocusTerm

EvtFocusTerm

Ereignis vor dem Verlassen des Objekts

Details

Die Funktion wird unmittelbar, nachdem das Objekt den Eingabe-Fokus verliert, aufgerufen.

Definition des Funktionskopfes:

sub EvtFocusTerm
(
aEvt : event; // Ereignis
aFocusObject : handle; // Objekt, das den Fokus bekommt
)
: logic; // Eingabeobjekt verlassen?
{
return(true);
}

aEvt

Die Funktion hat einen Übergabeparameter vom Typ event und einen Übergabeparameter vom Typ handle. In aEvt wird unter anderem der Deskriptor des auslösenden Objekts, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.

aFocusObject

aFocusObject enthält den Deskriptor des Objekts, das als nächsten den Fokus erhalten wird. Der Übergabeparameter hat den Wert 0, wenn das Zielobjekt nicht ermittelt werden konnte, weil es zum Beispiel in einer anderen Applikation liegt.

Resultat

Mit Hilfe des Rückgabewerts bei diesem Ereignis kann in einem Eingabe-Objekt verblieben werden. Bei false als Rückgabewert darf das Objekt nicht verlassen werden und das Ereignis EvtFocusCancel wird ausgelöst. Bei true darf das Objekt verlassen werden.

info

Falls abgefragt werden möchte, welche Taste zum Verlassen des Objekts verwendet wurde, kann dies mit Hilfe von WinInfo (..., _WinFocusKey ) in diesem Ereignis ermittelt werden.

info

Über die Ereignisse EvtFocusTerm und EvtFocusCancel kann eine individuelle Feldkontrolle eingerichtet werden. Üblicherweise wird aber eine Kontrolle der Eingaben beim Verlassen eines Dialogs oder bei einer anderen Benutzeraktion durchgeführt. Es ist zu beachten, dass das Ereignis EvtFocusTerm auch beim Taskwechsel aufgerufen wird. Innerhalb dieses Ereignisses dürfen keine Dialoge oder Messageboxen aufgerufen werden. Der Fokus wird in den Dialog übertragen. Nach dem Schließen des Dialoges steht der Fokus wieder in seinem ursprünglichen Objekt und das Ereignis würde wieder aufgerufen werden, sobald das Objekt wieder verlassen wird.