Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onKeyPress - událost objektu PmRoot

Popis:
Událost je vyvolána při stisku nebo puštění libovolné klávesy.
Parametry:
pMe(Object) Reference na PROMOTIC objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt popisující podrobněji informace o dané události.
pEvent.Action - (Integer) Indikace stisku nebo puštění klávesy.
0 - puštění klávesy
1 - stisk klávesy
pEvent.Code - (Long) Kód stisknuté klávesy. V případě ANSI znaku je hodnota shodná s kódem znaku, ostatní kódy viz Konstanty kláves.

Pro konverzi tohoto číselného kódu na String lze použít metodu Pm.StringCodeFrom.

pEvent.Ctrl - (Boolean) Indikace současného stisknutí klávesy Ctrl.
pEvent.Shift - (Boolean) Indikace současného stisknutí klávesy Shift.
pEvent.Alt - (Boolean) Indikace současného stisknutí klávesy Alt.
Poznámka:
Událost má stejné parametry jako událost PmiItem.onKeyPress nebo PmPanel.onKeyPress.
Příklad:
Příklad zde je ve tvaru, který se automaticky vygeneruje při založení nové aplikace. Definují se zde 'horké' klávesy:
- Ctrl-S pro zastavení aplikace - Pm.AppStop
- Ctrl-I pro vyvolání INFO systému
- Ctrl-P pro zaregistrování lokálního uživatele - Pm.WndLogon
- Ctrl-O pro odregistrování lokálního uživatele - Pm.WndLogoff
- Ctrl-G pro vyvolání seznamu obrazů
- Ctrl-A pro vyvolání okna alarmních skupin
- Ctrl-E pro vyvolání okna eventových skupin
VBScriptVyber a zkopíruj do schránky

Dim aList, sViewer
If pEvent.Action = 0 And pEvent.Ctrl And Not pEvent.Shift And Not pEvent.Alt Then
  Select Case pEvent.Code
  Case 83
    Pm.AppStop
    'Klávesa S
  Case 73
    Pm.GetActiveWorkspace().OpenView "/#glob/infosystem", "target:_blank;"
    'Klávesa I
  Case 80
    Pm.WndLogon true
    'Klávesa P
  Case 79
    Pm.WndLogoff true
    'Klávesa O
  Case 71
    aList = Pm.FindViewers("groups:menu;viewers:panel;", "", "columns:path,title;")
    sViewer = Pm.SelectionDialog(aList, "", "$.text('sys','panelsName'", "size:300,350;autoselect:1;")
    If Pm.IsValid(sViewer) Then  'Klávesa G
      Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
    End If
    'Klávesa G
  Case 65
    aList = Pm.FindViewers("groups:menu;viewers:alarm_state;", "", "columns:path,title,alstate3,alstate2,alstate1,alhoot;")
    sViewer = Pm.SelectionDialog(aList, "", "$.text('sys','alarmsName'", "size:500,350;autoselect:1;")
    If Pm.IsValid(sViewer) Then  'Klávesa A
      Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
    End If
    'Klávesa A
  Case 69
    aList = Pm.FindViewers("groups:menu;viewers:event;", "", "columns:path,title;")
    sViewer = Pm.SelectionDialog(aList, "", "$.text('sys','eventsName'", "size:500,350;autoselect:1;")
    If Pm.IsValid(sViewer) Then  'Klávesa E
      Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
    End If
    'Klávesa E
  End Select
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice