Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Udalosť OnKeyDown


Deklarácia


Code Block
languageesl
themeConfluence
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 %HIfunkciou %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.


 



Code Block
languageesl
themeRDark
 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 



Info
titleSúvisiace stránky:

Obsluha udalosti
Udalosti