hotkey
Das Web-Dynpro-Framework unterstützt bei eingeschaltetem Parameter WDLIGHTSPEED die Funktion von Aktionstasten.
Aktionstasten sind Tastenkombinationen, mit denen ein Benutzer eine bestimmte Aktion (z.B. Browser-Fenster öffnen oder einen Event feuern) an bestimmten UI-Elementen auslösen kann.
Die Eigenschaft hotkey wird für die folgenden UI-Elemente angeboten.
Eigenschaft hotkey
UI-Element |
Aktion |
Button und ToolBarButton |
|
Ein Browser-Fenster wird geöffnet |
|
Ein Browser-Fenster wird geöffnet |

Beachten Sie, dass Zusatzprogramme des Browsers wie beispielsweise HTTPWatch im Internet Explorer ebenfalls Aktionstasten verwenden und eventuell auch blockieren können. Dies liegt außerhalb der Kontrolle des Web-Dynpro-ABAP-Frameworks.
Beim Einsatz des SAP NetWeaver Business Client dagegen taucht dieses Problem nicht auf.
Die jeweilige Tastenkombination für die entsprechende Aktionstaste wird immer automatisch in den Tooltip des betreffenden UI-Elements hinzugefügt. Ist bereits ein Text für den Tooltip vorhanden, dann wird der Text für die Aktionstaste an das Ende angehängt. Entsprechend wird bei einem MenuActionItem der Text für die Aktionstaste an den Text angehängt.
Es kann vorkommen, dass eine Aktionstaste von mehreren UI-Elementen benutzt wird. In solchen Fällen werden sie gelöscht, da keine klare Zuordnung möglich ist und der Benutzer sonst verwirrt würde. Eine Ausnahme ist, wenn die selbe Aktionstaste in verschiedenen Aktionstasten-Containern definiert ist.
Für die folgenden UI-Elemente steht für Aktionstasten zusätzlich die Eigenschaft handleHotkeys zur Verfügung:
· Table
● Group
● Tray
Diese Eigenschaft bestimmt, ob Aktionstasten, die innerhalb des UI-Elements (TransparentContainer, Table, etc.) definiert werden, global oder lokal (d.h. wenn der Fokus im UI-Element ist) ausgelöst werden können.
Ist handleHotKeys gesetzt, so wird das UI-Element zu einem "HotKey-Behandler". Alle Aktionstasten, die innerhalb dieses UI-Elements definiert sind, können nur ausgelöst werden, wenn der Fokus in diesem UI-Element ist. Ist der Fokus außerhalb, so wird beim Drücken der gleichen Aktionstastenkombination keine Aktion ausgeführt oder aber eine Aktion, die zu einem anderen UI-Element gehört. Standardmäßig ist der gesamte sichtbare Fensterbereich immer ein HotKey-Behandler.
Innerhalb eines HotKey-Behandlers kann eine Aktionstaste immer nur einmal vergeben werden. Wird sie mehrfach definiert, wird der Hotkey komplett gelöscht, um Verwechslungen zu vermeiden.

Angenommen, es gibt eine View mit genau zwei TransparentContainern T1 und T2, für die beide handleHotkeys gesetzt ist. In jedem TransparentContainer ist ein Button B1 und B2, und auch außerhalb der beiden TransparentContainer ist ein dritter Button B3. Alle drei Buttons haben die gleiche Tastenkombination CTRL+0 als Aktionstaste. Ist der Fokus in T1 gesetzt, so löst CTRL+0 die Action des Buttons B1 aus. Falls der Fokus in T2 liegt, so wird B2 ausgelöst. Falls der Fokus außerhalb der beiden TransparentContainer liegt, so wird durch Ctrl+0 der Button B3 "gedrückt".
Ist handleHotKey nicht gesetzt, so kann die Aktionstaste in der ganzen Seite ausgelöst werden.
Allerdings muss auch hier beachtet werden, dass der Fokus IN der Browserseite liegt, damit globale Aktionstasten ausgelöst werden können.

Sonderfall TabStrips:
Bei TabStrips ist immer jeder Tab ein Hotkey-Behandler, d.h. dort definierte Aktionstasten sind nur aktiv, wenn der jeweilige Tab sichtbar und fokussiert ist.

Setzen Sie Aktionstasten und handleHotkeys nur sparsam und äußerst vorsichtig ein, um den Benutzer nicht zu verwirren.
Achten Sie insbesondere darauf, keine Verschachtelungen zu verwenden.
Die Eigenschaft hotkey kann die folgenden Ausprägungen haben:
● CTRL_0
● CTRL_1
● CTRL_2
● CTRL_3
● CTRL_4
● CTRL_5
● CTRL_6
● CTRL_7
● CTRL_8
● CTRL_9
● CTRL_F2
● CTRL_F3
● CTRL_F4
● CTRL_F5
● CTRL_F6
● CTRL_F7
● CTRL_F8
● CTRL_F9
● CTRL_F10
● CTRL_F11
● CTRL_F12
● CTRL_A
● CTRL_B
● CTRL_C
● CTRL_D
● CTRL_E
● CTRL_F
● CTRL_G
● CTRL_H
● CTRL_I
● CTRL_J
● CTRL_K
● CTRL_L
● CTRL_M
● CTRL_N
● CTRL_O
● CTRL_P
● CTRL_Q
● CTRL_R
● CTRL_S
● CTRL_T
● CTRL_U
● CTRL_V
● CTRL_W
● CTRL_X
● CTRL_Y
● CTRL_Z
● CTRL_NONE
● CTRL_SHIFT_F1
● CTRL_SHIFT_F2
● CTRL_SHIFT_F3
● CTRL_SHIFT_F4
● CTRL_SHIFT_F5
● CTRL_SHIFT_F6
● CTRL_SHIFT_F7
● CTRL_SHIFT_F8
● CTRL_SHIFT_F9
● CTRL_SHIFT_F10
● CTRL_SHIFT_F11
● CTRL_SHIFT_F12