Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onKeyPress - událost objektu PmaRoot

Popis:
Událost je vyvolána po stisku nebo puštění libovolné klávesy.
Parametry:
pMe(Object) Reference na PmaRoot objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt, který popisuje 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 stisku klávesy Ctrl.
pEvent.Shift - (Boolean) Indikace současného stisku klávesy Shift.
pEvent.Alt - (Boolean) Indikace současného stisku klávesy Alt.
Poznámka:
Událost má stejné parametry jako událost PmgObject.onKeyPress nebo událost PmaPanel.onKeyPress.
Viz také:
- PmaPanel.onKeyPress (událost)
- PmaKey (objekt)
Příklad:
Příklad zde je v podobě, 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
JavaScriptVyber a zkopíruj do schránky

var oCreator, sTarget;
function onViewClose(ev)
{
if (ev.CloseReason == "ok")
{
var sViewer = ev.ReturnValue;
if (Pm.IsValid(sViewer))
Pm.CreateView(Pm.GetActiveWorkspace(), sViewer, "", sTarget).Open();
}
}


if (pEvent.Action == 0 && pEvent.Ctrl && ! pEvent.Shift && ! pEvent.Alt)
{
switch (pEvent.Code)
{
case 83:  //Klávesa S
Pm.AppStop();
break;
case 73:  //Klávesa I
Pm.CreateView(Pm.GetActiveWorkspace(), "/#glob/infosystem", "", "target:_blank;").Open();
break;
case 80:  //Klávesa P
Pm.WndLogon(true);
break;
case 79:  //Klávesa O
Pm.WndLogoff(true);
break;
case 71:  //Klávesa G
sTarget = "target:main;";
oCreator = Pm.CreateView(Pm.GetActiveWorkspace(), "/#glob/list", "autoselect:1", "target:_blank;modal:1; size:300,350;");
oCreator.View.list = Pm.FindViewers("groups:menu;viewers:panel;", "", "columns:path,title;");
oCreator.View.title = Pm.EvalMacro("$.text('sys','panelsName')");
oCreator.View.onClose = onViewClose;
oCreator.Open();
break;
case 65:  //Klávesa A
sTarget = "target:_blank.alarms; size:1000,500;";
oCreator = Pm.CreateView(Pm.GetActiveWorkspace(), "/#glob/list", "autoselect:1", "target:_blank;modal:1;");
oCreator.View.list = Pm.FindViewers("groups:menu;viewers:alarm_state;", "", "columns:path,title,alstate3,alstate2,alstate1,alhoot;");
oCreator.View.title = Pm.EvalMacro("$.text('sys','alarmsName')");
oCreator.View.onClose = onViewClose;
oCreator.Open();
break;
case 69:  //Klávesa E
sTarget = "target:_blank.events; size:1000,500;";
oCreator = Pm.CreateView(Pm.GetActiveWorkspace(), "/#glob/list", "autoselect:1", "target:_blank;modal:1;");
oCreator.View.list = Pm.FindViewers("groups:menu;viewers:event;", "", "columns:path,title;");
oCreator.View.title = Pm.EvalMacro("$.text('sys','eventsName')");
oCreator.View.onClose = onViewClose;
oCreator.Open();
break;
}
}
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice