Bezeichnung
InstallEventHandler -- installiert/entfernt ein neuer Ereignis-Handler (V2.0)
Übersicht
InstallEventHandler(table[, userdata])
Beschreibung
Sie können diesen Befehl benutzen, um Ihre eigenen Ereignis-Handler für Standardereignisse zu installieren. Sie übergeben diesem Befehl eine Tabelle, mit welcher Hollywood den Ereignis-Handler installiert oder entfernt. Um einen neuen Handler zu installieren, müssen Sie die entsprechenden Tabellenfelder mit Ihrer eigenen Funktion initialisieren. Wenn Sie einen Ereignis-Handler entfernen möchten, stellen Sie das entsprechende Tabellenfeld auf 0.

Folgenden Tabellenfelder werden durch diesen Befehl erkannt:

OnKeyDown:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer eine Kontroll-, eine Nummern- oder eine englische Alphabettaste drückt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Wird OnKeyDown beinhalten.
Key:
Wird die Taste beinhalten, die gedrückt wurde.
ID:
Wird auf die ID des Display gesetzt, welches den Tastenanschlag empfangen hat.

Beachten Sie, dass OnKeyDown nur Bearbeitungs- (wie ESC, Rücklöschtaste (Backspace)) Cursor-, Nummern- und englische Alphabettasten unterstützt. Um nicht-englische Tasten zu überwachen, verwenden Sie stattdessen den Ereignis-Handler VanillaKey. VanillaKey unterstützt die komplette Unicode-Reihe von Tasten. Beachten Sie auch, dass OnKeyDown bestimmte nicht-englische Tasten auf einigen Plattformen unterstützt, aber das ist inoffizielles Verhalten und Sie sollten sich nicht darauf verlassen. Wenn Sie die Umschalttasten wie Shift, Alt, Control usw. überwachen möchten, verwenden Sie stattdessen den Ereignis-Handler OnRawKeyDown (siehe unten).

OnKeyUp:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer eine Bearbeitungs-, eine Cursortaste, eine numerische Taste oder eine englische alphabetische Taste loslässt. Die Funktion erhält eine Nachricht als Parameter 1 mit folgenden Feldern:

Action:
Wird OnKeyUp beinhalten.
Key:
Wird auf die Taste gesetzt, die losgelassen wurde. Siehe Raw keys für eine Liste von den rohen Tasten, die von Hollywood unterstützt werden.
ID:
Wird auf den Identifikator des Display gesetzt, welches das Loslassen der Taste empfangen hat.

Beachten Sie, dass OnKeyUp nur Steuer- (wie ESC, Rücklöschtaste (Backspace), Cursortasten usw.), Nummern- und englische Alphabettasten unterstützt. Um nicht-englische Tasten zu überwachen, verwenden Sie stattdessen den Ereignis-Handler VanillaKey. VanillaKey unterstützt die komplette Unicode-Reihe von Tasten. Beachten Sie auch, dass OnKeyUp bestimmte nicht-englische Tasten auf einigen Plattformen unterstützt, aber das ist inoffizielles Verhalten und Sie sollten sich nicht darauf verlassen. Wenn Sie die Umschalttasten wie Shift, Alt, Control usw. überwachen möchten, verwenden Sie stattdessen den Ereignis-Handler OnRawKeyUp (siehe unten).

OnRawKeyDown:
Dieser Ereignis-Handler kann verwendet werden, um rohe Tastaturereignisse zu überwachen. Der Unterschied zwischen rohen und normalen Tastaturereignissen besteht darin, dass rohe Tastaturereignisse immer die Grundtaste liefert, ohne dass potenzielle Umschalttasten wie Shift, Alt, Control, etc. darauf einfluss nehmen, die ebenfalls gedrückt sein könnten. Wenn Sie z.B. die Shift-Taste und die "1"-Taste auf einer englischen oder deutschen Tastatur drücken, meldet OnKeyDown, dass die Taste "!" gedrückt wurde, während OnRawKeyDown zwei Tastaturereignisse meldet: Zuerst meldet der Ereignis-Handler, dass die Shift-Taste und dann die Taste "1" gedrückt wurde. Im Gegensatz zu OnKeyDown wird OnRawKeyDown niemals die Shift- und die "1"-Tastenkompination als "!"-Taste melden. Außerdem wird OnKeyDown niemals ausgelöst, wenn eine Umschalttaste wie Shift, Alt, Control, etc. alleine gedrückt wurde. OnRawKeyDown wird aber auch ausgelöst, wenn der Benutzer eine Umschalttaste drückt. So ist OnRawKeyDown sehr nützlich, um Umschalttasten oder Kombinationen von Zeichen- und Umschalttasten zu überwachen. Sie können z.B. diesen Ereignis-Handler verwenden, um herauszufinden, ob die rechte Alt- und eine Zeichentaste gleichzeitig gedrückt wurden. Die Funktion, die Sie an diesen Ereignis-Handler übergeben, erhält eine Meldung als Parameter 1 mit den folgenden Feldern:

Action:
Wird OnRawKeyDown beinhalten.
Key:
Wird auf die gedrückte Taste gesetzt. Siehe Rohe Tasten für eine Liste der von Hollywood unterstützten rohen Tasten.
Modifiers:
Wird auf eine Kombination von Umschalttasten gesetzt, die momentan gedrückt sind. Die folgenden Umschalttasten-Flags können gesetzt werden:

#MODLSHIFT
Linke Shift-Taste
#MODRSHIFT
Rechte Shift-Taste
#MODLALT
Linke Alt-Taste
#MODRALT
Rechte Alt-Taste
#MODLCOMMAND
linke Steuer-Taste (z.B. Windows Start-Taste, linke Amiga-Taste)
#MODRCOMMAND
Rechte Steuer-Taste (z.B. Windows Menü-Taste, rechte Amiga-Taste)
#MODLCONTROL
Linke Control-Taste
#MODRCONTROL
Rechte Control-Taste
ID:
Wird auf die ID des Display gesetzt, welches die gedrückte Taste empfangen hat.

(V7.1)

OnRawKeyUp:
Dieser Ereignis-Handler wird immer dann ausgelöst, wenn eine rohe Taste losgelassen wurde. Bitte lesen Sie die Beschreibung von OnRawKeyDown weiter oben, um mehr über den Unterschied zwischen rohen und normalen Tastaturereignissen zu erfahren. Die Funktion, die Sie an diesen Ereignis-Handler übergeben, erhält eine Meldung als Parameter 1 mit den folgenden Feldern:

Action:
Wird OnRawKeyUp beinhalten.
Key:
Wird auf die losgelassene Taste gesetzt. Siehe Rohe Tasten für eine Liste der von Hollywood unterstützten rohen Tasten.
Modifiers:
Wird auf eine Kombination von Umschalttasten gesetzt, die momentan gedrückt sind. Siehe oben bei OnRawKeyDown für eine Liste der Umschalttasten-Flags.
ID:
Wird auf die ID des Display gesetzt, welches die losgelassene Taste empfangen hat.

(V7.1)

VanillaKey:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer eine Taste oder eine Tastenkombination drückt, die zu einem Zeichen mit grafischer Darstellung einschließlich dem Leerzeichen fürt. VanillaKey unterstützt die ganze Unicode-Reihe und kann auch Zeichen behandeln, die durch mehrere gedrückte Tasten erzeugt werden, wie z.B. Diakritische Zeichen. Diesen Ereignis-Handler können Sie verwenden, wenn Ihre Anwendung auch nicht-englische Zeichen berücksichtigen muss. Die Funktion erhält eine Meldung als Parameter 1 mit folgenden Feldern:

Action:
Wird VanillaKey beinhalten.
Key:
Wird die Taste beinhalten, die gedrückt wurde.
ID:
Wird auf die ID des Display gesetzt, welches die Taste empfangen hat.

Beachten Sie, dass VanillaKey nur Taste-Drücken- (Key-Down) und Taste-Halten-Ereignisse (Key-Repeat) meldet. Es kann keine Taste-Loslassen-Ereignisse (Key-Up) melden, da dies für Zeichen mit mehreren Tastenanschläge nicht möglich ist. Darüber hinaus werden nur druckbare Zeichen (einschließlich des Leer-/Zwischenraum-Zeichens (SPACE)) gemeldet. Wenn Sie auf Steuertasten wie ESC, Rücklöschtaste (Backspace), Cursortasten usw. zugreifen müssen, verwenden Sie die OnKeyDown- und OnKeyUp-Ereignis-Handler. (V7.0)

OnMouseMove:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die Maus bewegt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Wird OnMouseMove beinhalten.
X,Y:
Werden die aktuellen Mauskoordinaten enthalten. Wenn sie negativ sind, befindet sich der Mauszeiger außerhalb der Grenzen des Displays.
ID:
Wird auf die ID des Display gesetzt, welches die Bewegung der Maus empfangen hat.

OnMouseDown:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die linke Maustaste drückt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Wird OnMouseDown beinhalten.
ID:
Wird auf die ID des Display gesetzt, welches die linke Maustaste empfangen hat.

(V3.1)

OnMouseUp:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die linke Maustaste loslässt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Wird OnMouseUp beinhalten.
ID:
Wird auf die ID des Display gesetzt, welches die linke Maustaste empfangen hat.

(V3.1)

OnRightMouseDown
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die rechte Maustaste drückt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnRightMouseDown.
ID:
Wird auf die ID des Display gesetzt, welches die rechte Maustaste empfangen hat.

(V3.1)

OnRightMouseUp:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die rechte Maustaste loslässt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnRightMouseUp.
ID:
Wird auf die ID des Display gesetzt, welches die rechte Maustaste empfangen hat.

(V3.1)

OnWheelDown:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer das Mausrad runter dreht. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnWheelDown.
ID:
Wird auf die ID des Display gesetzt, welches das Mausraddrehen empfangen hat.

(V4.0)

OnWheelUp:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer das Mausrad rauf dreht. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnWheelUp.
ID:
Wird auf die ID des Display gesetzt, welches das Mausraddrehen empfangen hat.

(V4.0)

OnMusicEnd:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen, wenn eine Musikwiedergabe beendet wurde. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnMusicEnd.
ID:
Identifikator des Objekts, welches beendet wurde.

Bitte beachten Sie, dass dieses Ereignis nur ausgelöst wird, wenn die Wiedergabe von Musik beendet ist. Es wird nicht ausgelöst, wenn Sie StopMusic() aufrufen.

OnSampleLoop:
Die hier angegebene Funktion wird jedes Mal aufgerufen werden, wenn ein Sample gestartet wird. Wenn das Sample nur einmal spielt, wird die Funktion auch nur einmal aufgerufen. Wird das Sample im Schleifenmodus gespielt, können Sie der Funktion angeben, dass bei jeder Wiederholung des Samples die Funktion aufgerufen wird. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Felder übergeben:

Action:
Beinhaltet OnSampleLoop.
ID:
Identifikator des Samples, der gerade gestartet oder wiederholt wurde.
Time:
Die Zeit in Millisekunden, die das Sample jetzt gespielt hat.
Starts:
Die Anzahl der Starts von diesem Sample. Dieses Feld beginnt bei 1 und wird bei jeder Hollywood-Schleife Ihres Samples erhöht werden.

Achtung! Verwenden Sie diesen Ereignis-Handler mit Vorsicht. Wenn Sie ein kurzes Sample unendlich schleifen, wird Ihre Callback-Funktion wieder und wieder aufgerufen, die Ihre Skriptleistung massiv reduzieren wird. Dieser Ereignis-Handler ermöglicht es Ihnen, exaktes Timing mit Sample-Wiedergabe zu erzielen.

OnSampleEnd:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen, wenn ein Sample beendet wurde. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnSampleEnd.
ID:
Identifikator des Samples, der gerade aufgehört hat.
Time:
Die Zeit in Millisekunden, die das Sample jetzt gespielt hat.
Starts:
Die Anzahl der Starts von diesem Sample. Dieses Feld beginnt bei 1 und wird bei jeder Hollywood-Schleife Ihres Samples erhöht werden.

Bitte beachten Sie, dass dieses Ereignis nur ausgelöst wird, wenn die Wiedergabe des Samples beendet ist. Es wird nicht ausgelöst, wenn Sie StopSample() aufrufen.

OnARexx:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn eine ARexx-Nachricht an den Rexx-Port (dieser Port wurde mit CreateRexxPort() erstellt) ankommt. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnARexx.
Command:
Eine Zeichenkette mit dem Befehl, der ausgeführt werden soll.
Args:
Eine vorab von Hollywood analysierte Zeichenfolge, die alle Argumente (getrennt durch Null-Zeichen ("\0")) für diesen Befehl enthält. Sie können den SplitStr() Befehl verwenden, um die einzelnen Argumente zu erhalten.
ArgC:
Die Anzahl der Argumente in der Zeichenkette Args.
RawArgs:
Die nicht analysierte Zeichenfolge, die alle Argumente enthält.

Bitte beachten Sie, dass Hollywood nicht immer die Argumente in der Art und Weise trennt, wie Sie sie haben wollen. In diesem Fall können Sie das Feld RawArgs verwenden, die für den Zugriff auf die Argumente in ihrem ursprünglichen Format verwendet werden kann. Die Felder Args und ArgC sind nur für Ihre Bequemlichkeit enthalten, aber einige erfahrene Benutzer könnten manchmal RawArgs bevorzugen.

Siehe CreateRexxPort für ein Beispiel von diesem Ereignis-Handler. (V2.5)

SizeWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer die Fenstergröße ändert. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet SizeWindow.
Width:
Die neue Breite des Fensters.
Height:
Die neue Höhe des Fensters.
ID:
Identifikator des grössenveränderten Fensters.

MoveWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer das Fenster bewegt Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet MoveWindow.
X,Y:
Die neue Position des Fensters auf dem Bildschirm.
ID:
Identifikator des verschobenen Fensters.

CloseWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer das Schließsymbol des Fensters drückt. Sie können dies verwenden, um ein Dialogfenster erscheinen zu lassen, das den Benutzer fragt, ob er wirklich beenden will. Nachrichtentext:

Action:
Beinhaltet CloseWindow.
ID:
Identifikator des Fensters, bei welchem das Schließsymbol gedrückt wurde.

ActiveWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn das Hollywood-Fenster aktiv wird. Nachrichtentext:

Action:
Beinhaltet ActiveWindow.
ID:
Identifikator des Fensters, das aktiviert wurde.

InactiveWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn das Hollywood-Fenster inaktiv wurde. Nachrichtentext:

Action:
Beinhaltet InactiveWindow.
ID:
Identifikator des Fensters, welches nun gerade inaktiv wurde/den Focus verloren hat.

ShowWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer ein verstecktes (minimisiertes) Fenster wieder sichtbar auf den Bildschirm zurück holt. Nachrichtentext:

Action:
Beinhaltet ShowWindow.
ID:
Identifikator des Fensters, welches aus dem minimierten Modus gebracht wurde.

(V3.0)

HideWindow:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer ein Hollywood-Fenster versteckt (minimisiert). Nachrichtentext:

Action:
Beinhaltet HideWindow.
ID:
Identifikator des Fensters, welches minimisiert wurde.

(V3.0)

ModeSwitch:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer mit der Tastenkombination Komando-Taste + RETURN (LALT + Return auf Windows) vom Fenster- in den Vollbildmodus und umgekehrt wechselt. Nachrichtentext:

Action:
Beinhaltet ModeSwitch.
Mode:
Beinhaltet den Modus, in den gerade gewechselt wurde. Kann entweder #DISPMODE_WINDOWED für Fenstermodus oder #DISPMODE_FULLSCREEN) für den Vollbildmodus sein.
ID:
Identifikator des Fensters, für das die Tastenkombination gedrückt wurde.
Width:
Display Breite. (V6.0)
Height:
Display Höhe. (V6.0)

(V4.5)

OnDropFile:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer ein oder mehrere Icons auf ein Display legt. Nachrichtentext:

Action:
Beinhaltet OnDropFile.
ID:
Identifikator des Fensters, über dem die Icons fallen gelassen wurden.
NumDropFiles:
Die Anzahl der Dateien, die der Benutzer über dem Display fallen gelassen hat. Dies ist in der Regel 1.
DropFiles:
Diese Tabelle enthält die Liste der Dateien, die auf das Display fallen gelassen wurde. Diese Tabelle wird genau NumDropFiles Einträge enthalten.
X,Y:
Enthält die relative Position zu der oberen linken Ecke des Displays, über den die Dateien fallen gelassen wurden.

(V4.5)

ClipboardChange:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Inhalt der Zwischenablage geändert wurde. Dies ist nützlich, um in Ihrem Skript die Einfüge-Funktionalität zu aktivieren oder zu deaktivieren. Nachrichtentext:

Action:
Beinhaltet ClipboardChange.
ID:
Identifikator des Fensters, welches dieses Ereignis empfangen hat.

(V4.5)

OnMidMouseDown:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die mittlere Maustaste drückt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnMidMouseDown.
ID:
Wird auf die ID des Display gesetzt, welches die mittlere Maustaste empfangen hat.

(V4.5)

OnMidMouseUp:
Die Funktion, die Sie hier angeben, wird jedes Mal aufgerufen werden, wenn der Benutzer die mittlere Maustaste loslässt. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnMidMouseUp.
ID:
Wird auf die ID des Display gesetzt, welches die mittlere Maustaste empfangen hat.

(V4.5)

OnConnect:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn sich ein neuer Client mit einen Server (erstellt mit CreateServer()) verbindet. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnConnect.
ClientID:
Identifikator des Clienten, der sich mit dem Server verbunden hat.
ServerID:
Identifikator des Servers, mit dem sich der Client verbunden hat.

Die ClientID ist wichtig und man sollte sie irgendwo speichern, weil Sie sie brauchen werden, um mit dem Clienten zu kommunizieren. Sie können auch diese ID verwenden, um die IP-Adresse und Port-Nummer des Clienten herauszufinden. Dies ist mit den Befehlen GetConnectionIP() und GetConnectionPort() möglich. Sie können auch Daten an den Clienten senden, indem Sie den Befehl SendData() benutzen. (V5.0)

OnDisconnect:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn sich ein Client von einem Server (erstellt mit CreateServer()) trennt. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnDisconnect.
ID:
Identifikator des Clienten, der vom Server getrennt wurde. Sie müssen CloseConnection() mit dieser ID des Clienten verwenden, um ihn vom Server zu entfernen.

Wenn Sie dieses Ereignis erhalten, vergessen Sie nicht, CloseConnection() mit der Client-ID zu verwenden, um den Clienten in vollem Umfang vom Server zu trennen. Dies ist sehr wichtig. (V5.0)

OnReceiveData:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn neue Daten über eine bestehende Verbindung empfangen werden. Die Funktion wird eine Nachricht als Parameter 1 mit folgenden Feldern übergeben:

Action:
Beinhaltet OnReceiveData.
ID:
Identifikator der Verbindung, welche die neuen Daten enthält.

Wenn Sie diese Meldung erhalten, bedeutet es, dass in der Verbindung von ID neuen Daten verfügbar sind und dass Sie mit dem Befehl ReceiveData() nun diese Daten aus dem Netzwerk-Puffer lesen können. (V5.0)

OnReceiveUDPData:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn neue Daten von einer vorhandenen UDP-Verbindung empfangen wurden. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnReceiveUDPData.
ID:
Identifikator der UDP-Verbindung, welche neue Daten enthält.

Wenn Sie diese Meldung erhalten, bedeutet es, dass in der Verbindung von ID neuen Daten verfügbar sind und dass Sie mit dem Befehl ReceiveUDPData() nun diese Daten aus dem Netzwerk-Puffer lesen können. (V5.0)

OnVideoEnd:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn ein Video beendet wurde. An die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnVideoEnd.
ID:
Identifikator des Videos, welches beendet wurde.

Bitte beachten Sie, dass dieses Ereignis nur dann ausgelöst wird, wenn das Video fertig abgespielt wurde. Es wird nicht ausgelöst, wenn Sie StopVideo() verwenden. (V5.0)

FillMusicBuffer:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Sound-Server mehr Audiodaten benötigt, wenn eine dynamische Musik (mit CreateMusic() erstellt) spielt. Ihre Callback-Funktion muss dann FillMusicBuffer() aufrufen, um das Gerät (Device) mit mehr Audiodaten zu versorgen. Nachrichtentext:

Action:
Beinhaltet FillMusicBuffer.
ID:
Identifikator der Music, welche dieses Ereignis ausgelöst hat.
Samples:
Enthält die Anzahl der PCM-Daten, welche Hollywood von Ihrer Callback-Funktion anfordern wird. Ihre Callback-Funktion muss diese Menge an PCM-Daten an Hollywood übergeben, so dass es diese Audiodaten an das System des Audio-Gerät weiterleiten kann. Siehe FillMusicBuffer für Details.
Count:
Enthält einen globalen Zähler, wie viele PCM-Daten bereits an das Audio-Gerät gesendet wurde. Nützlich um herauszufinden, wie viele Sekunden die Musik bereits gespielt hat.

(V5.0)

OrientationChange:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer sein Mobilphone gedreht hat. Nachrichtentext:

Action:
Beinhaltet OrientationChange.
ID:
Identifikator des Displays.
Orientation:
Konstante unter Angabe der neuen Ausrichtung des Geräts. Dies wird eine der folgenden Konstanten sein:

 
#ORIENTATION_PORTRAIT
#ORIENTATION_LANDSCAPE
#ORIENTATION_PORTRAITREV
#ORIENTATION_LANDSCAPEREV

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der mobilen Version von Hollywood unterstützt wird. (V5.0)

ShowKeyboard:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn die Software-Tastatur auf mobilen Geräten sichtbar wird. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet ShowKeyboard.
ID:
Identifikator des Displays.

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der mobilen Version von Hollywood unterstützt wird. (V5.0)

HideKeyboard:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn die Software-Tastatur auf mobilen Geräten versteckt wird. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet HideKeyboard.
ID:
Identifikator des Displays.

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der mobilen Version von Hollywood unterstützt wird. (V5.0)

OnUserMessage:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn eine neue Benutzernachricht beim Nachrichten-Port (mit CreatePort() erstellt) ankommt. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnUserMessage.
Command:
Eine Zeichenkette mit dem Befehl, der ausgeführt werden soll.
Args:
Eine vorab von Hollywood analysierte Zeichenfolge, die alle Argumente (getrennt durch Null-Zeichen ("\0")) für diesen Befehl enthält. Sie können den Befehl SplitStr() verwenden, um die einzelnen Argumente zu erhalten.
ArgC:
Die Anzahl der Argumente in der Zeichenkette Args.
RawArgs:
Die nicht analysierte Zeichenfolge, die alle Argumente enthält.

Bitte beachten Sie, dass Hollywood nicht immer die Argumente in der Art und Weise trennt, wie Sie sie haben wollen. In diesem Fall können Sie das RawArgs-Feld verwenden, die für den Zugriff auf die Argumente in ihrem ursprünglichen Format verwendet werden kann. Die Felder Args und ArgC sind nur für Ihre Bequemlichkeit enthalten, aber einige erfahrene Benutzer könnten manchmal RawArgs bevorzugen.

Siehe CreatePort für ein Beispiel von diesem Ereignis-Handler. (V5.0)

Hotkey:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer die im Argument -cxkey definierte Tastenkombination drückt. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet Hotkey.
ID:
Identifikator des Displays.

Bitte beachten Sie, dass dieser Ereignis-Handler nur auf AmigaOS und Kompatiblen von Hollywood funktioniert. (V5.2)

TrayIcon:
Wenn Sie mit dem Befehl SetTrayIcon() ein Icon in der Taskleiste installieren, wird jedes Mal der Benutzer beim Klicken auf dieses Icon diesen Ereigis-Handler aufgerufen. Nachrichtentext:

Action:
Beinhaltet TrayIcon.
ID:
Identifikator des Displays.

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der Microsoft Windows-Version von Hollywood unterstützt wird. (V5.2)

OnTouch:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn eine Interaktion mit dem Benutzer über den Touchscreen stattfindet. Es wird erkennt, wie ein neuer Finger auf den Touchscreen gesetzt wird, ein Finger sich hebt oder bewegt. Dieses Ereignis wird nur erforderlich sein, wenn Sie eine fein abgestimmte Kontrolle über alle Berührungsereignisse benötigen, wie z.B. Multi-Touch-Ereignisse oder Gesten. Wenn Sie nur eine einfache Kontrolle über den Touch-Screen benötigen, ist es leichter, die Ereignis-Handler OnMouseDown, OnMouseUp und OnMouseMove zu verwenden. Hollywood wird die primäre Finger auf dem Touchscreen immer der linken Maustaste zuordnen. Nachrichtentext:

Action:
Beinhaltet OnTouch.
ID:
Identifikator des Fensters, welches dieses Ereignis ausgelöst hat.
Type:
In einer Zeichenkette wird der Typ des Touch-Ereignisses beschrieben. Dies wird entweder Down, Up oder Move sein.
Finger:
Die Fingernummer, auf die sich dieses Ereignis bezieht.
X:
Die aktuelle X-Koordinaten des Fingers auf dem Touchscreen.
Y:
Die aktuelle Y-Koordinaten des Fingers auf dem Touchscreen.
Pressure:
Enthält den aktuellen Druck des Fingers. Der allgemeinen Bereich geht von 0 (überhaupt kein Druck) bis 1 (Normaldruck). Werte größer als 1 sind ebenfalls möglich, ist aber abhängig von der Kalibrierung des Touchscreen.
DownTime:
Enthält die Uhrzeit, wann die Finger auf dem Touchscreen gelegt wurden.
EventTime:
Enthält die Uhrzeit, wann das Ereignis generiert wurde.
Size:
Enthält den skalierten Wert der ungefähren Größe der aktuellen Finger.
TouchMajor:
Enthält die aktuelle Länge der Hauptachse einer Ellipse der Berührungsfläche für den aktuellen Finger.
TouchMinor:
Enthält die aktuelle Länge der Nebenachse einer Ellipse der Berührungsfläche für den aktuellen Finger.
ToolMajor:
Enthält die aktuelle Länge der Hauptachse einer Ellipse des Werkzeugbereichs für den aktuellen Finger.
ToolMinor:
Enthält die aktuelle Länge der Nebenachse einer Ellipse des Werkzeugbereichs für den aktuellen Finger.
Orientation:
Enthält die aktuelle Ausrichtung des Berührungs- und Werkzeugbereich in Radiant, welcher im Uhrzeigersinn von der Vertikalen für den aktuellen Finger läuft. Der Bereich ist von -PI/2 Radiant (Finger ist ganz links) und PI/2 Radiant (Finger ist ganz rechts).

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der mobilen Version von Hollywood unterstützt wird. (V5.3)

OnApplicationMessage:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn eine neue Nachricht in AmigaOS 4 über die application.library Messaging-System eintrifft. Wenn Sie eine application.library Nachricht empfangen wollen, müssen Sie zuerst den Tag RegisterApplication in @OPTIONS auf True gesetzt haben. Nachrichtentext:

Action:
Beinhaltet OnApplicationMessage.
Sender:
Der Name der Anwendung, die diese Nachricht gesendet hat.
Message:
Die aktuelle Nachricht.

Bitte beachten Sie, dass dieser Ereignis-Handler nur auf AmigaOS 4.x unterstützt wird. (V6.0)

OnDockyClick:
Wenn Sie den Tag RegisterApplication in der Präprozessor-Anweisung @OPTIONS auf True gesetzt haben, wird die hier angegebene Funktion jedes Mal aufgerufen, wenn der Benutzer auf das Icon Ihrer Anwendung im AmiDock klickt. Nachrichtentext:

Action:
Beinhaltet OnDockyClick.
ID:
Identifikator des Displays.

Bitte beachten Sie, dass dieser Ereignis-Handler nur auf AmigaOS 4.x unterstützt wird. (V6.0)

OnMenuSelect:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Benutzer einen Menüpunkt auswählt. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet OnMenuSelect.
ID:
Identifikator des Displays, welches die Menüleiste enthält.
Item:
Die ID des Menüs, welches ausgewählt wurde. Siehe MENU für Details.
Selected:
Wenn der ausgewählte Menüpunkt ein Toggle-Menüpunkt (das heißt ein Menüpunkt, der zwei unterschiedliche Zustände haben kann) ist, wird dieses Feld den aktuellen Umschaltstatus enthalten. Siehe MENU für Details.

(V6.0)

RunFinished:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn ein Programm asynchron mit dem Befehl Run() ausgeführt wurde und der Befehl nun beendet ist. Die Funktion wird eine Nachricht als Parameter 1 mit den folgenden Feldern übergeben:

Action:
Beinhaltet RunFinished.
Program:
Hier wird eine Zeichenkette mit dem Namen des Programmes sein, die mit dem Befehl Run() ausgeführt wurde.
Args:
Diese Zeichenkette enthält die Argumente, die an das Programm mit dem Befehl Run() übergeben wurden.
RunUserData:
Wenn benutzerdefinierte Benutzerdaten in dem Aufruf von Run() angegeben wurden, wird es in diesem Nachrichtenfeld an Ihre Callback-Funktion übergeben werden. Wenn Sie keine benutzerdefinierten Benutzerdaten übergeben, wird dieses Feld nicht initialisiert werden.

(V6.1)

DirectoryChanged:
Wenn Sie derzeit Verzeichnisse mit dem Befehl MonitorDirectory() überwachen, wird die hier angegebene Funktion immer dann aufgerufen, wenn eine Änderung in einem überwachten Verzeichnis auftritt. Die Funktion erhält eine Nachricht als Parameter 1 mit den folgenden Feldern:

Action:
Beinhaltet DirectoryChanged.

ID:
Identifikator des Verzeichnisobjekts, in dem die Änderung aufgetreten ist.
Directory:
Dies wird auf eine Zeichenkette festgelegt, die einen vollständig qualifizierten Pfad des Verzeichnisses enthält, in dem die Änderung aufgetreten ist.
MonitorUserData:
Wenn beim Aufruf von MonitorDirectory() benutzerdefinierte Benutzerdaten angegeben wurden, werden diese in diesem Meldungsfeld an Ihre Callback-Funktion übergeben. Wenn Sie keine benutzerdefinierten Benutzerdaten übergeben, wird dieses Feld überhaupt nicht initialisiert.

(V8.0)

OnAccelerometer:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Sensor des Geräts neue Werte für den Beschleunigungssensor meldet. Beachten Sie, dass dies normalerweise immer geschieht. Wenn Sie dieses Ereignis überwachen, werden Sie viele Ereignisse erhalten, die sich auf die Leistung Ihres Skripts auswirken können. Die Funktion erhält eine Nachricht als Parameter 1 mit folgenden Feldern:

Action:
Beinhaltet OnAccelerometer.
ID:
Wird auf den Identifikator des Displays gesetzt, das dieses Ereignis empfangen hat.
X:
X-Beschleunigungssensorwert vom Sensor.
Y:
Y-Beschleunigungssensorwert vom Sensor.
Z:
Z-Beschleunigungssensorwert vom Sensor.

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der Android-Version von Hollywood unterstützt wird. Informationen zum Interpretieren der von diesem Ereignis-Handler bereitgestellten Werte für X, Y und Z finden Sie in der Android-Dokumentation vom SensorEvent.

(V8.0)

OnGyroscope:
Die hier angegebene Funktion wird jedes Mal aufgerufen, wenn der Sensor des Geräts neue Gyroskopwerte meldet. Beachten Sie, dass dies normalerweise immer geschieht. Wenn Sie dieses Ereignis überwachen, werden Sie viele Ereignisse erhalten, die sich auf die Leistung Ihres Skripts auswirken können. Die Funktion erhält eine Nachricht als Parameter 1 mit folgenden Feldern:

Action:
Beinhaltet OnGyroscope.
ID:
Wird auf den Identifikator des Displays gesetzt, das dieses Ereignis empfangen hat.
X:
X-Gyroskopwert vom Sensor.
Y:
Y-Gyroskopwert vom Sensor.
Z:
Z-Gyroskopwert vom Sensor.

Bitte beachten Sie, dass dieser Ereignis-Handler nur in der Android-Version von Hollywood unterstützt wird. Informationen zum Interpretieren der von diesem Ereignis-Handler bereitgestellten Werte für X, Y und Z finden Sie in der Android-Dokumentation vom SensorEvent.

(V8.0)

Wenn Sie einen Ereignis-Handler entfernen möchten, müssen Sie einfach das entsprechende Feld in der Tabelle auf 0 setzen, anstatt eine Funktion zu übergeben.

Ab Hollywood 3.1 gibt es ein optionales Argument namens userdata (Benutzerdaten). Den hier angegebenen Wert wird der Callback-Funktion übergeben, wenn sie aufgerufen wird. Dies ist nützlich, wenn Sie die Arbeit mit globalen Variablen vermeiden möchten. Mit Hilfe des Argument userdata können Sie ganz einfach Daten an Ihrer Callback-Funktion übergeben. Sie können einen Wert eines beliebigen Typs (Zahlen, Zeichenketten, Tabellen, Funktionen) verwenden.

Ab Hollywood 7.0 werden alle Ereignismeldungen ein zusätzliches Feld mit dem Namen Timestamp enthalten. Dieses Feld enthält den Zeitstempel, wann das Ereignis erzeugt wurde. Dieser Zeitstempel wird in Sekunden als Bruchzahl übergeben. Er ist relativ zu der Zeit, in der Hollywood gestartet wurde. Siehe GetTimestamp für Details.

Bitte beachten Sie, dass die Ereignis-Handler-Funktionen nur dann ausgeführt werden, während das Skript in einer WaitEvent() Schleife ist. Darum müssen Sie WaitEvent() für diese Callback-Funktionen verwenden!

Eingaben
table
Tabelle, welche Informationen über die Handler installieren oder entfernen enthält
userdata
optional: Benutzerdefinierte Daten, welche der Callback-Funktion übergeben werden (V3.1)
Beispiel
Function p_HandlerFunc(msg)
  Switch(msg.action)
  Case "ActiveWindow":
    DebugPrint("Window has become active again!")
  Case "InactiveWindow":
    DebugPrint("Window has become inactive!")
  Case "MoveWindow":
    DebugPrint("User has moved the window to", msg.x, msg.y)
  Case "OnKeyDown":
    If msg.key = "ESC" Then End
  EndSwitch
EndFunction

InstallEventHandler({ActiveWindow = p_HandlerFunc,
   InactiveWindow = p_HandlerFunc,
   MoveWindow = p_HandlerFunc,
   OnKeyDown = p_HandlerFunc})

Repeat
  WaitEvent
Forever
Der obige Code installiert vier Ereignis-Handler für ActiveWindow, InactiveWindow, MoveWindow und OnKeyDown. Drückt der Benutzer die ESC-Taste, wird das Programm beendet. Wenn Sie zum Beispiel den Ereignis-Handler MoveWindow entfernen möchten, rufen Sie einfach InstallEventHandler() erneut mit dem Parameter MoveWindow=0 auf.

Navigation zeigen