Zum Hauptinhalt springen

EvtKeyItem

EvtKeyItem

Tastaturereignis

Details

Das Ereignis wird ausgelöst, wenn eine Taste gedrückt wurde.

info

Das Ereignis wird bei Alt nur in Kombination mit Pfeil links , Pfeil rechts , Pfeil hoch , Pfeil runter , Pos1 und Ende ausgelöst.

Für die Pfeiltasten Pfeil hoch , Pfeil runter , Pfeil links und Pfeil rechts wird das Ereignis nur bei den Objekten RecList , DataList und Picture ausgelöst. In diesem Fall wird in dem Parameter aID der Wert 0 übergeben.

Bei den Objekten Frame und AppFrame wird das Ereignis unter folgenden Bedingungen nicht ausgelöst:

  1. Ein untergeordnetes Objekt hat den Eingabefokus, bei diesem Objekt ist das Ereignis EvtKeyItem gesetzt und die Ereignis-Prozedur gibt false zurück.
  2. Ein untergeordnetes Objekt hat den Eingabefokus und bearbeitet die Taste selber (z. B. beim Drücken der Tab -Taste, wodurch zum nächsten Objekt gesprungen wird oder die Betätigung von Eingabe , wenn im Frame ein Default-Button aktiv ist).
  3. Die Eigenschaft MenuKey bei einem MenuItem oder Toolbar-Button ist gesetzt und das Objekt ist aktiviert (Disabled=false) und sichtbar (Visible=true).

Definition des Funktionskopfes:

sub EvtKeyItem
(
aEvt : event; // Ereignis
aKey : int; // Taste
aID : bigint; // RecID bei RecList, Node-Deskriptor bei TreeView
)
: logic; // Taste an Objekt weiterleiten?
{
return(true);
}

Alternativer Funktionskopf:

sub EvtKeyItem
(
aEvt : event; // Ereignis
aKey : int; // Taste
aID : int; // RecID bei RecList, Node-Deskriptor bei TreeView
)
: logic; // Taste an Objekt weiterleiten?
{
return(true);
}

aEvt

In diesem Parameter vom Typ event wird unter anderem der Deskriptor des auslösenden Objekts, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.

aKey

aKey liefert die gedrückte Taste. Die Werte entsprechen den folgenden Konstanten. Die Werte können mit _WinKeyShift, _WinKeyCtrl und _WinKeyAlt kombiniert sein, wenn entsprechende Tastenkombinationen gedrückt wurden.

  • Konstante: Taste Bemerkung
  • _WinKeySpace: Leertaste nicht in Kombination mit Alt
  • _WinKeyReturn: Eingabe nicht in Kombination mit Alt / nicht wenn EmulateKeys gesetzt ist
  • _WinKeyEsc: Esc nicht in Kombination mit Strg oder Alt
  • _WinKeyTab: Tab nicht in Kombination mit Alt
  • _WinKeyInsert: Einfg nicht in Kombination mit Alt
  • _WinKeyDelete: Entf nicht in Kombination mit Alt
  • _WinKeyBackspace: Backspace nicht in Kombination mit Alt
  • _WinKeyHome: Pos1
  • _WinKeyEnd: Ende
  • _WinKeyPageUp: Bild hoch
  • _WinKeyPageDown: Bild runter
  • _WinKeyUp: Pfeil hoch nicht wenn EmulateKeys gesetzt ist
  • _WinKeyDown: Pfeil runter nicht wenn EmulateKeys gesetzt ist
  • _WinKeyLeft: Pfeil links
  • _WinKeyRight: Pfeil rechts
  • _WinKeyF1 ... _WinKeyF12: F1 ... F12 nicht in Kombination mit Alt
  • _WinKeyA ... _WinKeyZ: A ... Z nicht in Kombination mit Alt
  • _WinKey0 ... _WinKey9: 0 ... 9 nicht in Kombination mit Alt
info

Die folgenden Tasten lösen das Ereignis nur aus, wenn in der Eigenschaft Flags des Application -Objekts die Ausprägung _WinAppCalcKeySupport gesetzt ist:

  • Konstante: Taste
  • _WinKeyAdd: Plus
  • _WinKeySubtract: Minus
  • _WinKeyMultiply: Sternchen
  • _WinKeyDivide: Schrägstrich
  • _WinKeyDecimal: Komma
  • _WinKeyDot: Punkt
info

Die folgenden Tasten lösen das Ereignis nur aus, wenn in der Eigenschaft FlagsExt des Application -Objekts die Ausprägung _WinAppExtFlowKeySupport gesetzt ist:

  • Konstante: Taste Bemerkung
  • _WinKeyTab: Tab
  • _WinKeyReturn: Eingabe nur benötigt, wenn EmulateKeys gesetzt ist
  • _WinKeyUp: Pfeil hoch nur benötigt, wenn EmulateKeys gesetzt ist
  • _WinKeyDown: Pfeil runter nur benötigt, wenn EmulateKeys gesetzt ist
info

Die folgenden Tasten lösen das Ereignis nur aus, wenn in der Eigenschaft FlagsExt des Application -Objekts die Ausprägung _WinAppExtUmlautKeySupport gesetzt ist:

  • Konstante: Taste
  • _WinKeyAuml: Auml
  • _WinKeyOuml: Ouml
  • _WinKeyUuml: Uuml
  • _WinKeySZlig: SZlig

aID

In Abhängigkeit vom auslösenden Objekt werden hier unterschiedliche Informationen übergeben:

info

Wird der alternative Funktionskopf verwendet, kommt es zum Laufzeitfehler _ErrValueOverflow , wenn die zu übergebende Datensatz-ID nicht in den Wertebereich von int passt.

Resultat

Unabhängig vom auslösenden Objekt entscheidet der Rückgabewert darüber, ob die auslösende Taste an das Objekt weitergeleitet wird (true) oder nicht (false). Soll zum Beispiel in einem RecList -Objekt das Blättern mit den Tasten Bild hoch und Bild runter oder in einem Eingabe-Objekt das Arbeiten mit der Zwischenablage ( Strg + C , Strg + X , Strg + V ) möglich sein, muss true zurückgegeben werden.

Beispiele:

sub EvtKeyItem
(
aEvt : event; // Ereignis
aKey : int; // Taste
aID : bigint; // RecID bei RecList, Node-Deskriptor bei TreeView, Focus-Objekt bei Frames
) : logic; // Taste an Objekt weiterleiten?

{
switch (aKey)
{
case _WinKeyShift | _WinKeyInsert : // <Shift> + <Einfg> wurde gedrückt
...
case _WinKeyDelete : // <Entf> wurde gedrückt
...
}

return(true);
}

if (aKey & _WinKeyInsert > 0)
// Tastenkombination mit <Einfg> wurde gedrückt
...

if (aKey = _WinKeyInsert)
// <Einfg> wurde gedrückt
...