PV ON EVENT

4D - Documentation   Français   English   German   4D View, Befehle nach Themen   4D View, Befehle alphabetisch   4D View, Konstanten   Back   Previous   Next

Version 2004.1 (Geändert)


PV ON EVENT (Bereich; Ereignis; Methode)

ParameterTypBeschreibung
BereichLange Ganzzahl4D View Bereich
EreignisLange Ganzzahl4D View Ereignis
MethodeStringMethodenname

Beschreibung

Mit dem Befehl PV ON EVENT können Sie einem 4D View Ereignis eine Methode zuweisen. Immer wenn Ereignis auftritt, wird Methode ausgeführt.

Ereignis definieren Sie mit einer Konstanten unter dem Thema PV Ereignis.

Die aufgerufene Methode empfängt 6 Parameter vom Typ Lange Ganzzahl und gibt in $0 einen Boolean Wert zurück:

$1: Referenz auf den 4D View Bereich

$2: Ereignis

$3: Zusatztaste

$4: Spaltennummer

$5: Zeilennummer

$6: ASCII-Wert der Taste

$3 kann einen der folgenden Werte annehmen (bei Tastenkombination werden diese Werte addiert):

0Nichts
512 Umschalttaste
2048Alt-Taste
4096Strg-Taste (Windows) / Befehlstaste (Mac OS).

Verwaltung von Klicks (Ereignisse pv on clicked, pv on right clicked, pv on double clicked und pv on contextual click):

- Tritt Ereignis (Klick, rechter Mausklick, Doppelklick oder kontextueller Klick) in einer Zelle auf, gibt $4 die Spaltennummer, $5 die Zeilennummer zurück. Tritt es im Kopfteil einer Zeile auf, wird $4 auf 0 (Null) gesetzt. Tritt es im Kopfteil einer Spalte auf, wird $5 auf 0 (Null) gesetzt. Tritt es in der oberen linken Ecke des Bereichs auf, werden $4 und $5 auf 0 (Null) gesetzt.

- Das Ereignis pv on contextual click wird aufgerufen, wenn der Benutzer die Maustaste loslässt; das Ereignis pv on right clicked, wenn die Taste gedrückt wird. Sie können diese beiden Ereignisse verwenden, um eine Oberfläche mit Kontext-Menüs einzurichten. pv on contextual click eignet sich besser für Operationen unter Windows, pv on right clicked besser für solche auf Mac OS. Beide Ereignisse lassen sich simultan verwenden.

- Ist das Ereignis ein Klick, ein rechter Mausklick, ein Doppelklick oder ein kontextueller Klick, wird $6 auf 0 (Null) gesetzt.

Auswahl ändern (Ereignis pv on selection changed):

- Enthält die neue Auswahl mehrere Zellen, Spalten oder Zeilen, geben $4 und $5 den Wert 0 (Null) zurück.

- Enthält die neue Auswahl eine Zelle, geben $4 und $5 jeweils die Spalten- und Zeilennummer der Zelle zurück.

- Ist die neue Auswahl eine Spalte, gibt $4 die Spaltennummer, $5 den Wert 0 (Null) zurück.

- Ist die neue Auswahl eine Zeile, gibt $4 den Wert 0 (Null), $5 die Zeilennummer zurück.

Funktionstasten: Wurde im Zusammenhang mit dem Ereignis pv on keyboard eine Funktionstaste aktiviert, gibt der Parameter $6 den Wert 0 (Null) zurück. In diesem Fall finden Sie über die 4D Systemvariable Keycode den ASCII Code der aktivierten Funktionstaste heraus.

Sortieren: Das Ereignis pv on column sort wird direkt nach dem Sortieren einer Spalte erzeugt. So kann es zum Steuern von Benutzeraktionen dienen. In diesem Fall empfängt $6 den Wert der Sortierrichtung. Er lässt sich mit folgenden Konstanten unter dem Thema PV Kopfteil Sortierung vergleichen:

pv ascending sortLange Ganzzahl2
pv descending sortLange Ganzzahl3

Größe anpassen: Die Ereignisse pv on column resize und pv on row resize werden gesendet, wenn eine Spalte oder Zeile vom Benutzer angepasst wird. Sie werden nicht gesendet, wenn die Spalten oder Zeilen per Programmierung (über die Befehle PV SET COLUMNS WIDTH oder PV SET ROWS HEIGHT angepasst werden.

Bei $0 gleich Wahr wird Ereignis nicht berücksichtigt.

Bei $0 gleich Falsch wird Ereignis berücksichtigt.

Hinweis: Beabsichtigen Sie, Ihre Datenbank zu kompilieren, müssen Sie $0 als Boolean und $1 bis $6 als Lange Ganzzahlen deklarieren, selbst wenn Sie nicht alle davon verwenden.

Ist Bereich gleich 0 (Null), gilt PV ON EVENT für alle 4D View Bereiche. In diesem Fall ist es besser, den Befehl in der Datenbankmethode On Startup zu übergeben, die beim Öffnen der Datenbank ausgeführt wird.

Um die Methode BeiEreignis aufzuheben, rufen Sie den Befehl PV ON EVENT mit einem leeren String im letzten Parameter auf.

Beispiel

(1) Siehe Beispiele zu den Routinen PV VALIDATE CURRENT CELL, PV GET PREVIOUS ACTIVE CELL, PV GET CELL FIELD, PV Get on event method und PV SAVE DOCUMENT.

(2) Der Benutzer klickt auf den Spaltentitel, um eine Sortierung durchzuführen.

Die Methode PM_Event findet heraus, welche Spalte in welcher Reihenfolge sortiert wurde.

      ` Methode einrichten, die während dem Ereignis pv on column sort aufgerufen wird:
   PV ON EVENT(Bereich;pv on column sort;"PM_Event")

      `PM_Ereignismethode
   C_BOOLEAN($0)
   C_LONGINT($1; $2; $3; $4; $5; $6)
   C_STRING(12; $SortOrder)
   If ($2=pv on column sort)
      Case of
      :($6=pv ascending sort)
         $SortOrder:="ascending"
      :($6=pv descending sort)
         $SortOrder:="descending"
      End case
      ALERT ("Sortierung in der Spalte "+String($4)+" in der Richtung "+$SortOrder+")
   End if

(3) Durch Doppelklick auf einen Spaltentitel wird die Spalte angepasst. Der Doppelklick löst jedoch zwei Ereignisse aus: pv on clicked, dann pv on double clicked.

Folglich löst ein Doppelklick auf einen Titel – wenn der Aufruf von PV SET AREA PROPERTY das Sortieren erlaubt – zuerst das Sortieren der Spalte, dann die Anpassung aus. Soll ein Doppelklick die Spalte nur in der Grösse anpassen, müssen Sie das Ereignis pv on clicked, welches direkt vor dem Sortiervorgang ausgeführt wird, abfangen und entfernen. Dazu richten Sie eine Methode ein, die während dem Ereignis pv on clicked aufgerufen wird:

      ` Methode einrichten, die während dem Ereignis pv on clicked aufgerufen wird
   PV ON EVENT(Bereich;pv on clicked;"PM_Event")

      `PM_Ereignismethode
   C_BOOLEAN($0)
   C_LONGINT($1; $2; $3; $4; $5; $6)
   If ($2=pv on clicked)
      $0:=True    `Das Ereignis wird ignoriert und keine Sortierung ausgeführt
   End if


Referenz

PV Get on event method.

Konstanten

Thema PV Ereignis


4D - Documentation   Français   English   German   4D View, Befehle nach Themen   4D View, Befehle alphabetisch   4D View, Konstanten   Back   Previous   Next