Den Typ der Behandlungsroutine definieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Eigene Ereignisse definieren


Nachdem Sie festgelegt haben, wann das Ereignis eintritt, müssen Sie definieren, wie es behandelt werden soll. Mit anderen Worten: Sie müssen den Typ der Ereignisbehandlungsroutine bestimmen. In den meisten Fällen sind die Routinen für Ereignisse, die Sie selbst definieren, einfache Benachrichtigungen oder ereignisspezifische Typen. Es ist auch möglich, von der Routine Informationen zurückgeben zu lassen.

Einfache Benachrichtigungen

Der einzige Zweck eines Benachrichtigungsereignisses besteht in der Mitteilung, dass ein bestimmtes Ereignis eingetreten ist. Wann und wo dies der Fall war, wird nicht angegeben. Benachrichtigungen sind vom Typ TNotifyEvent, der nur einen Parameter akzeptiert, nämlich den Sender des Ereignisses. Eine Routine für eine Benachrichtigung weiß von dem Ereignis nur, um welche Art von Ereignis es sich handelt und für welche Komponente das Ereignis eingetreten ist. Beispielsweise sind Klick-Ereignisse Benachrichtigungen. Wenn Sie eine Routine für ein Klick-Ereignis schreiben, wissen Sie nur, dass ein Klick eingetreten ist und auf welche Komponente geklickt wurde.

Eine Benachrichtigung ist ein eingleisiger Prozess. Es gibt keinen Mechanismus, der eine Rückmeldung bereitstellt oder eine weitere Behandlung einer Benachrichtigung verhindert.

Ereignisspezifische Behandlungsroutinen

In einigen Fällen reicht es nicht aus zu wissen, welches Ereignis eingetreten ist und welche Komponente davon betroffen war. Wenn es sich z.B. um ein Tastendruckereignis handelt, ist es wahrscheinlich, dass die Behandlungsroutine wissen will, welche Taste der Benutzer gedrückt hat. In diesen Fällen benötigen Sie Behandlungsroutinentypen, die Parameter für weitere Informationen enthalten.

Wenn das Ereignis als Antwort auf eine Botschaft generiert wurde, stammen die Parameter, die Sie an die Ereignisbehandlungsroutine übergeben, direkt von den Botschaftsparametern.

Informationen von der Behandlungsroutine zurückliefern

Da alle Ereignisbehandlungsroutinen Prozeduren sind, ist ein Zurückliefern von Informationen nur über einen var-Parameter möglich. Die Komponenten können mithilfe dieser Informationen festlegen, wie und ob ein Ereignis bearbeitet wird, nachdem die Behandlungsroutine des Benutzers ausgeführt wurde.

Beispielsweise übergeben alle Tastaturereignisse (OnKeyDown, OnKeyUp und OnKeyPress) den Wert der gedrückten Taste per Referenz in einem Parameter namens Key. Die Ereignisbehandlungsroutine kann den Parameter Key ändern, sodass die Anwendung eine andere als diejenige Taste erkennt, die von dem Ereignis betroffen war. Auf diese Weise erfolgt z.B. die Darstellung von eingegebenen Zeichen in Großbuchstaben.

Themen

Siehe auch