У меня есть объекты на панели (111.pnl).
При нажатии на объект ЛК (левый клик мышки) должна открыть другая панель(222.pnl). (Это я сделал).
Далее мне нужно, чтобы на панели высвечивались те сигналы, которые относятся к конкретному выбранному объекту.
Объектов на панели 111.pnl много, а всплывающая панель 222.pnl для всех объектов одна.
Мне нужно прописать в функции makeDynString параметры, чтобы сигналы высветились на панели 222.pnl и чтобы у каждого сигнала менялось состояние (красный, желтый, зеленый). Как должна быть панель прикрепил.
Код: Выделить всё
main()
{
EP_setBackColor();
EP_childPanelOn();
}
void EP_setBackColor()
{
dyn_errClass err;
if( !dpExists( "System1:SP11.SP11:_online.._value") || !dpExists( "System1:SP12.SP11:_online.._value") || !dpExists( "System1:SP13.SP11:_online.._value")
|| !dpExists( "System1:SP14.SP11:_online.._value") || !dpExists( "System1:SP15.SP11:_online.._value") || !dpExists( "System1:SP16.SP11:_online.._value")
|| !dpExists( "System1:SP17.SP11:_online.._value"))
{
setValue("", "color", "black");
return;
}
dpConnect("EP_setBackColorCB",
"System1:SP11.SP11:_online.._value",
"System1:SP12.SP11:_online.._value",
"System1:SP13.SP11:_online.._value",
"System1:SP14.SP11:_online.._value",
"System1:SP15.SP11:_online.._value",
"System1:SP16.SP11:_online.._value",
"System1:SP17.SP11:_online.._value");
err = getLastError();
if (dynlen(err) > 0)
setValue("", "color", "black");
}
void EP_setBackColorCB (string dpSource1, bool ka,
string dpSource2, bool la,
string dpSource4, bool aa,
string dpSource5, bool ba,
string dpSource6, bool ca,
string dpSource8, bool ea,
string dpSource9, bool fa)
{
dyn_int sign1,sign2,sign3;
sign1 = makeDynInt(ka,la);
sign2 = makeDynInt(aa,ba,ca);
sign3 = makeDynInt(ea,fa);
if (dynContains(sign1, 1) > 0)
setValue("", "backCol", "red");
else if (dynContains(sign2, 1) > 0)
setValue("", "backCol", "yellow");
else if (dynContains(sign3, 1) > 0)
setValue("", "backCol", "green");
else
setValue("", "backCol", "white");
}
void EP_childPanelOn()
{
ChildPanelOnCentral("vision/ZvvvvMYPROC.pnl",
"",
makeDynString(""));
}
[img][/img]