Promotic

onKeyPress - událost objektu PmaRoot

Popis:
Událost je vyvolána po stisknutí 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 - (Long) [pro čtení] Indikace stisknutí nebo puštění klávesy.
0 - puštění klávesy
1 - stisknutí klávesy
pEvent.Code - (Long) [pro čtení] 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) [pro čtení] Indikace současného stisknutí klávesy Ctrl.
pEvent.Shift - (Boolean) [pro čtení] Indikace současného stisknutí klávesy Shift.
pEvent.Alt - (Boolean) [pro čtení] Indikace současného stisknutí 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. Jsou zde definované 'horké' klávesy:
- Ctrl-S pro zastavení aplikace - Pm.AppStop
- Ctrl-I pro otevření okna 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 otevření okna se seznamem obrazů
- Ctrl-A pro otevření okna skupin alarmů
- Ctrl-E pro otevření okna skupin eventů
JavaScriptVyber a zkopíruj do schránky

var oCreator;
var 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;", "", "headers:;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.