ENTRY OnKeyDown(IN INT _VKCode, IN BOOL _bCtrl, IN BOOL _bShift, IN BOOL _bAlt)
; akcie
END OnKeyDown
Parametre
_VKCode
Kód stlačenej klávesy.
_bCtrl
Príznak stavu klávesy CTRL v momente stlačenia klávesy _VKCode.
_bShift
Príznak stavu klávesy SHIFT v momente stlačenia klávesy _VKCode.
_Alt
Príznak stavu klávesy ALT v momente stlačenia klávesy _VKCode.
Popis
Udalosť je generovaná pri stlačení ľubovoľnej klávesovej skratky definovanej funkciou %HI_RegKeyHandler nad schémou.
Na rozdiel od ENTRY OnKeyPress je udalosť volaná aj v prípade, že schéma neobsluhuje vstup od užívateľa (nemá focus) alebo je skrytá (neviditeľná). Udalosť je z pohľadu obsluhy užívateľského vstupu volaná asynchrónne a preto má len informatívny charakter – „užívateľ stlačil definovanú kombináciu kláves“. Udalosť je volaná aj v prípade, že dochádza ku kolízii medzi systémovými a aplikačne definovanými klávesovými skratkami. Ak je v procese HI súčasne otvorených viacero schém, ktoré obsluhujú vstup, fungujú nezávisle od seba a nijako sa neovplyvňujú.
Hodnota parametra _VKCode jednoznačne identifikuje stlačenú klávesu. Ďalšie tri parametre indikujú stav kláves CTRL, SHIFT a ALT. Kódy priradené klávesom sú konštantné a definované implementáciou OS MS Windows.
Príklad
Príklad obsahuje jednoduchú možnosť, ako zistiť priradenie jednotlivých číselných kódov (parameter _VKCode) klávesám.
ENTRY OnKeyDown(IN INT _VKCode, IN BOOL _bCtrl, IN BOOL _bShift, IN BOOL _bAlt)
TEXT _msg
_msg := "_VKCode = " + %IToStr(_VKCode)
IF _bCtrl THEN
_msg := _msg + " +CTRL"
ENDIF
IF _bAlt THEN
_msg := _msg + " +ALT"
ENDIF
IF _bShift THEN
_msg := _msg + " +SHIFT"
ENDIF
MESSAGE _msg ON _FROM_HIP
END OnKeyDown