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
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 ' Klávesa S
      Pm.AppStop
    Case 73 ' Klávesa I
    Case 80 ' Klávesa P
      Pm.WndLogon true
    Case 79 ' Klávesa O
      Pm.WndLogoff true
    Case 71 ' Klávesa G
      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 Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
    Case 65 ' Klávesa A
      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 Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
    Case 69 ' Klávesa E
      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 Pm.GetActiveWorkspace().OpenView sViewer, "target:main;", ""
  End Select
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice