
Cursortasten zur Navigation benutzen
Wir sind der Meinung, dass man durch ein Fenster nicht nur mit der Tab-Taste, sondern auch mit den Cursortasten
navigieren können sollte. Dazu ist es zunächt einmal notwendig, bei allen Controls die Cursortasten als
Alert-Keys einzutragen.
z.B.
BUTTON('OK'),AT(5,5,45,12),USE(?OK),|
ALRT(UpKey),ALRT(DownKey),ALRT(LeftKey),
ALRT(RightKey)
oder
ENTRY(@S30),AT(5,5,60,10),USE(cVar),|
ALRT(UpKey),ALRT(DownKey)
Außerdem muss im ACCEPT-Loop der EVENT:AlertKey abgefragt und im Bedarfsfall die Funktion OnAlertKey
aufgerufen werden.
ACCEPT
CASE EVENT()
OF .......
OF EVENT:AlertKey
OnAlertKey(KEYCODE())
END
END
In der Funktion OnAlertKey setzen wir die KEYCODEs der Cursortasten in KEYCODEs der Tab-Taste um und
schicke diese an das aufrufende Fenster. Theoretisch sollte das ganz einfach mit der Clarion-Funktion PRESSKEY
funktionieren. In 32-Bit-Applikationen hakelt die Funktion jedoch. über die API-Funktionen KeyBd_Event und
MapVirtualKeyA geht das Ganze aber reibungslos.
Die Datei onalrtky.clw enthält die Funktion
"OnAlertKey". Diese Funtion enthält die API-Aufrufe.