Page tree
Skip to end of metadata
Go to start of metadata

Udalosť OnKeyDown


Deklarácia


ENTRY OnKeyDown(IN INT _VKCode, IN BOOL _bCtrl, IN BOOL _bShift, IN BOOL _bAlt)
 ; akcie
 END OnKeyDown
Parametre
_VKCodeKód stlačenej klávesy.
_bCtrlPríznak stavu klávesy CTRL v momente stlačenia klávesy _VKCode.
_bShiftPríznak stavu klávesy SHIFT v momente stlačenia klávesy _VKCode.
_AltPrí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 

Súvisiace stránky:

Write a comment…