OnKeyDown

OnKeyDown

Udalosť OnKeyDown


Deklarácia

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

Súvisiace stránky:

Obsluha udalosti
Udalosti