ENTRY OnKeyDown(IN INT _VKCode, IN BOOL _bCtrl, IN BOOL _bShift, IN BOOL _bAlt) ; akcie END OnKeyDown |
| _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. |
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.
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 |