EvtKeyItem
EvtKeyItem
Tastaturereignis
Details
- Name: Typ Beschreibung
- aEvt:
eventEreignisinformationen - aKey:
intTaste - aID:
int/bigintDatensatz-ID bei RecList -Objekten - Resultat:
logicTaste an Objekt weiterleiten? - Siehe: Liste , Objekte , Ereignisbefehle
Das Ereignis wird ausgelöst, wenn eine Taste gedrückt wurde.
Das Ereignis wird bei nur in Kombination mit
,
,
,
,
und
ausgelöst.
Für die Pfeiltasten ,
,
und
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:
- Ein untergeordnetes Objekt hat den Eingabefokus, bei diesem Objekt ist das Ereignis
EvtKeyItemgesetzt und die Ereignis-Prozedur gibtfalsezurück. - Ein untergeordnetes Objekt hat den Eingabefokus und bearbeitet die Taste selber (z. B. beim Drücken der
-Taste, wodurch zum nächsten Objekt gesprungen wird oder die Betätigung von
, wenn im Frame ein Default-Button aktiv ist).
- Die Eigenschaft
MenuKeybei 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:nicht in Kombination mit
_WinKeyReturn:nicht in Kombination mit
/ nicht wenn
EmulateKeysgesetzt ist_WinKeyEsc:nicht in Kombination mit
oder
_WinKeyTab:nicht in Kombination mit
_WinKeyInsert:nicht in Kombination mit
_WinKeyDelete:nicht in Kombination mit
_WinKeyBackspace:nicht in Kombination mit
_WinKeyHome:_WinKeyEnd:_WinKeyPageUp:_WinKeyPageDown:_WinKeyUp:nicht wenn
EmulateKeysgesetzt ist_WinKeyDown:nicht wenn
EmulateKeysgesetzt ist_WinKeyLeft:_WinKeyRight:_WinKeyF1..._WinKeyF12:...
nicht in Kombination mit
_WinKeyA..._WinKeyZ:...
nicht in Kombination mit
_WinKey0..._WinKey9:...
nicht in Kombination mit
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:_WinKeySubtract:_WinKeyMultiply:_WinKeyDivide:_WinKeyDecimal:_WinKeyDot:
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:_WinKeyReturn:nur benötigt, wenn
EmulateKeysgesetzt ist_WinKeyUp:nur benötigt, wenn
EmulateKeysgesetzt ist_WinKeyDown:nur benötigt, wenn
EmulateKeysgesetzt ist
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:_WinKeyOuml:_WinKeyUuml:_WinKeySZlig:
aID
In Abhängigkeit vom auslösenden Objekt werden hier unterschiedliche Informationen übergeben:
- Objekt: Inhalt
- RecList / RecListPopup: Datensatz-ID des aktuellen Datensatzes
- TreeView: Deskriptor des selektierten TreeNode oder
0 - Frame oder AppFrame: Deskriptor des Fokus-Objekts
- StoList / StoListPopup:
0. Der selektierte Eintrag kann über die EigenschaftCurrentermittelt werden. - WebNavigator:
0.
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 und
oder in einem Eingabe-Objekt das Arbeiten mit der Zwischenablage (
+
,
+
,
+
) 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
...