Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onKeyPress - zdarzenie objektu PmRoot

Opis:
Zdarzenie jest wywołane przy naciśnięciu lub zwolnieniu dowolnego klawisza.
Parametry:
pMe(Object) Odniesienie do PROMOTIC obiektu, w którym doszło do danego zdarzenia.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Action - (Integer) Indykacja naciśnięcia lub zwolnienia klawisza.
0 - zwolnienie klawisza
1 - naciśnięcie klawisza
pEvent.Code - (Long) Kod naciśniętego klawisza. W przypadku znaku ANSI jest wartość zgodna z kodem znaku, pozostałe kody patrz Stałe klawiszy.

W celu konwersji tego kodu liczbowego na String można zastosować metodę Pm.StringCodeFrom

pEvent.Ctrl - (Boolean) Indykacja równocześnie naciśniętego klawisza Ctrl.
pEvent.Shift - (Boolean) Indykacja równocześnie naciśniętego klawisza Shift.
pEvent.Alt - (Boolean) Indykacja równocześnie naciśniętego klawisza Alt.
Notatka:
Zdarzenie posiada takie same parametry jak zdarzenie PmiItem.onKeyPress lub PmPanel.onKeyPress.
Patrz również:
Przykład:
Przedstawiony przykład jest w formie, kiedy jest automatycznie wytwarzany podczas założenia nowej aplikacji. Są w nim zdefiniowane klawisze 'skrótu':
- Ctrl-S do zatrzymania aplikacji - Pm.AppStop
- Ctrl-I do wywołania INFO systemu
- Ctrl-P do zalogowania użytkownika lokalnego - Pm.WndLogon
- Ctrl-O do wylogowania użytkownika lokalnego - Pm.WndLogoff
- Ctrl-G do wywołania listy paneli
- Ctrl-A do wywołania okna grup alarmowych
- Ctrl-E do wywołania okna grup eventowych
VBScriptWybierz oraz skopiuj do schowka

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