📄 3kmenu7.c
字号:
{
//Button(xHitLeft, 434, 100, 50, 0x10, NULL, 192, 192, 192);
Rect(xHitLeft, 434, 100, 50, 1);
delay(15);
Button(xHitLeft, 434, 100, 50, uStyle, szptr_m7_turns[3][VarST3000.Language], 192, 192, 192);
NO=3;
}
else if( (ClickCol>=xHitLeft && ClickCol<=xHitLeft+100) &&
(ClickRow>=504 && ClickRow<=554) )
{
//Button(xHitLeft, 504, 100, 50, 0x10, NULL, 192, 192, 192);
Rect(xHitLeft, 504, 100, 50, 1);
delay(15);
Button(xHitLeft, 504, 100, 50, uStyle, szptr_m7_turns[4][VarST3000.Language], 192, 192, 192);
NO=4;
}
if( NO!=100 )
{ // 表示用户选择有效
eStyle=(VarST3000.Language?0x0b:0x03);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL7-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, eStyle|0x40, szptr_m7_turns[NO][VarST3000.Language]);
if( Bjob==1 && unit[vNewUnitSEL7-1].submenu1.unitworksnum.j)
{ unit[vNewUnitSEL7-1].submenu1.bitTurns.turnsoflabsA=NO+1; BCUTurns=NO+1;}
else if( Bjob==2 && unit[vNewUnitSEL7-1].submenu1.unitworksnum.j)
{ unit[vNewUnitSEL7-1].submenu1.bitTurns.turnsoflabsB=NO+1; BCUTurns=NO+1;}
REC_Sub1(vNewUnitSEL7-1, 7);
//___judge turnsoflabs of current selected item's legality.
if( BCUTurns==3 )
{ // 当前通道单标记
CommandData[vNewUnitSEL7-1].Cmd6[3]=0x01; // 单标记
/*
直接影响到纵向电机的正反转
*/
if( unit[vNewUnitSEL7-1].submenu1.bitTurns.omk_motorreverse )
{ CommandData[vNewUnitSEL7-1].Cmd6[6]|=0x04;}
else
{ CommandData[vNewUnitSEL7-1].Cmd6[6]&=0xfb;}
/*
如果原先通道横向打开
单标记的时候需要取消掉横向工作
*/
if( unit[vNewUnitSEL7-1].submenu1.bitfield.hcontrol )
{
unit[vNewUnitSEL7-1].submenu1.bitfield.hcontrol=0;
unit[vNewUnitSEL7-1].submenu1.bitfield.h_motorruning=0;
CommandData[vNewUnitSEL7-1].Cmd6[6]&=0xdd; // 横向开关和横向电机都为关闭
SetEntireFlags(vNewUnitSEL7-1, 0x20, 0); // 清除横向的报警标志hjHAlarmFlags
REC_Sub1(vNewUnitSEL7-1, 8);
/*
由于横向的关闭
可能导致整机的自动手动状态发生改变
*/
if( GetEntireAuto(Bjob) )
{ // 整机装态确实发生改变
BEntireAuto=((Bjob==1) ? EntireStatus.EntireAuto_A : EntireStatus.EntireAuto_B);
for(t=1; t<VarST3000.UnitCounts; t++)
{
if( unit[t].submenu1.unitworksnum.i==Bjob &&
unit[t].submenu1.unitworksnum.j )
{
CommandData[t].Cmd6[2]&=0xFC; // bit1bit0=00
if( unit[t].submenu1.bitfield.hand_auto )
{ CommandData[t].Cmd6[2]|=0x01;} // 通道自动
if( BEntireAuto )
{ CommandData[t].Cmd6[2]|=0x02;} // 整机自动
if( unit[t].submenu1.bitfield.hcontrol &&
unit[t].submenu1.bitfield.h_motorruning )
{ CommandData[t].Cmd6[6]|=0x20;} // 横向电机开 [0010 0000]
else
{ CommandData[t].Cmd6[6]&=0xdf;} // 横向电机关 [1101 1111]
CmdFlags[t].bits.bit0=1;
}
}
}
}
/*
无论整机是否发生改变
当前通道确实已经改变了6#命令
*/
CmdFlags[vNewUnitSEL7-1].bits.bit0=1;
}
else
{ // 非单标记的标记排列形式
CommandData[vNewUnitSEL7-1].Cmd6[3]=0x00;
/*
纵向电机的正反转
*/
if( unit[vNewUnitSEL7-1].submenu1.bitfield.vmotorreverse )
{ CommandData[vNewUnitSEL7-1].Cmd6[6]|=0x04;}
else
{ CommandData[vNewUnitSEL7-1].Cmd6[6]&=0xfb;}
/*
整机的标记顺逆序改变状况
*/
BEntireTurns=GetEntireTurns(Bjob);
for(t=1; t<VarST3000.UnitCounts; t++)
{
if( unit[t].submenu1.unitworksnum.i==Bjob &&
unit[t].submenu1.unitworksnum.j)
{ UpdateCmd6Turns(t, BEntireTurns); CmdFlags[t].bits.bit0=1;}
}
CmdFlags[vNewUnitSEL7-1].bits.bit0=1;
}
// BCUTurns 目前记录的是当前通道的标记排列形式
BFlag=0; // 认为相同
for(t=1; t<VarST3000.UnitCounts; t++)
{
if( unit[t].submenu1.unitworksnum.i==Bjob &&
unit[t].submenu1.unitworksnum.j )
{ // 仅取当前系属的通道进行比较
if( (Bjob==1 ? unit[t].submenu1.bitTurns.turnsoflabsA : unit[t].submenu1.bitTurns.turnsoflabsB)!=BCUTurns )
{ // 已经发现出现了不相同的标记排列设置
BFlag=1; break;
}
}
}
if( !BFlag )
{ // 标记排列相同
// 请查询当前系属的标记排列形式是否一致
BFlag=(Bjob==1 ? SysSet.bitTurns.TurnofLabsA : SysSet.bitTurns.TurnofLabsB );
if( BFlag!=BCUTurns )
{ // 和当前设置不一致 需要将内容直接更新
if( Bjob==1 )
{
SysSet.bitTurns.TurnofLabsA=BCUTurns;
}
else
{
SysSet.bitTurns.TurnofLabsB=BCUTurns;
}
}
}
}
}
break;
case 2: //标准色序
if(VarST3000.UnitCounts>0 && vNewUnitSEL7>0)
{
xHitLeft=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50;
uStyle=(VarST3000.Language?0x81:0x03); //暂时表示按钮风格
if( (ClickCol>=xHitLeft && ClickCol<=xHitLeft+100) &&
(ClickRow>=224 && ClickRow<=274))
{
Button(xHitLeft, 224, 100, 50, uStyle|0x10, szptr_m7_3[0][VarST3000.Language], 192, 192, 192); //色序加
delay(15);
Button(xHitLeft, 224, 100, 50, uStyle, szptr_m7_3[0][VarST3000.Language], 192, 192, 192); //色序加
if(unit[vNewUnitSEL7-1].submenu1.ColorNum<unit[vNewUnitSEL7-1].submenu1.unitworksnum.j)
{ unit[vNewUnitSEL7-1].submenu1.ColorNum++;
eStyle=0x4f;
memset(echar7, 0, 20);
sprintf(echar7, "%02d", unit[vNewUnitSEL7-1].submenu1.ColorNum);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL7-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, eStyle, echar7);
//___
CommandData[vNewUnitSEL7-1].Cmd6[5]=unit[vNewUnitSEL7-1].submenu1.ColorNum;
CmdFlags[vNewUnitSEL7-1].bits.bit0=1;
}
}
else if((ClickCol>=xHitLeft && ClickCol<=xHitLeft+100) &&
(ClickRow>=294 && ClickRow<=344))
{
Button(xHitLeft, 294, 100, 50, uStyle|0x10, szptr_m7_3[1][VarST3000.Language], 192, 192, 192); //色序减
delay(15);
Button(xHitLeft, 294, 100, 50, uStyle, szptr_m7_3[1][VarST3000.Language], 192, 192, 192); //色序减
if(unit[vNewUnitSEL7-1].submenu1.ColorNum>1)
{ unit[vNewUnitSEL7-1].submenu1.ColorNum--;
eStyle=0x4f;
memset(echar7, 0, 20);
sprintf(echar7, "%02d", unit[vNewUnitSEL7-1].submenu1.ColorNum);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL7-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, eStyle, echar7);
//___
CommandData[vNewUnitSEL7-1].Cmd6[5]=unit[vNewUnitSEL7-1].submenu1.ColorNum;
CmdFlags[vNewUnitSEL7-1].bits.bit0=1;
}
}
}
break;
case 3: //波门宽度
if(VarST3000.UnitCounts>0 && vNewUnitSEL7>0)
{
NO=RespNumKBoard();
if(NO!=100)
{
if(NO==205) //ENTER
{
if(strlen(Dispbuf))
{
tmpi7=atoi(Dispbuf);
if(tmpi7>=5 && tmpi7<=20)
{
if(unit[vNewUnitSEL7-1].submenu2.ValueWidth!=tmpi7)
{ CmdFlags[vNewUnitSEL7-1].bits.bit2=1;}
unit[vNewUnitSEL7-1].submenu2.ValueWidth=tmpi7;
}
else
{ MessageBox( (VarST3000.Language ? "Range from 5 to 20" : "范围从5到20") );}
}
//显示内容
memset(echar7, 0, 20);
sprintf(echar7, "%5d", unit[vNewUnitSEL7-1].submenu2.ValueWidth);
eStyle=0x4f;
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL7-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, eStyle, echar7);
ClearKBuffer();
}
else //INPUTING...
{ ProcNumKBinp(NO);
eStyle=0xcf;//(VarST3000.Language?0xcf:0xc3);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL7-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, eStyle, Dispbuf);
}
}
}
break;
case 4: //标准设定和角度 色标间距
syncflag7=0;
syncflag_standard=0;
uStyle=(VarST3000.Language?0x81:0x03);
if( ( ClickCol>=355 && ClickCol<=455 ) )
{//A系列
if( (ClickRow>=220 && ClickRow<=255) && vNewPNoSEL7!=1 )
{//标准选择
eStyle=(VarST3000.Language?0x01:0x03);
Edit(355, 220, 100, 35, eStyle|0x40, szptr_m7_2[4+SysSet.bitStand.AsetStandard][VarST3000.Language]);
//Edit(505, 220, 100, 35, eStyle, szptr_m7_2[4+SysSet.bitStand.BsetStandard][VarST3000.Language]);
vNewPNoSEL7=1;
syncflag7=1;
//vSErSEL7=1;
}
else if( (ClickRow>=270 && ClickRow<=305)&& vNewPNoSEL7!=2 )
{//标记角度
eStyle=0x0F;
memset(echar7, 0, 20);
sprintf(echar7, "%5d", SysSet.ASignTangle);
Edit(355, 270, 100, 35, eStyle|0x40, echar7);
/*memset(echar7, 0, 10);
sprintf(echar7, "%5d", SysSet.BSignTangle);
Edit(505, 270, 100, 35, eStyle, echar7);*/
vNewPNoSEL7=2;
syncflag7=1;
//vSErSEL7=1;
// 清除输入缓冲区 屏蔽小数和符号输入 限定为2有效数长度
ClearKBuffer();
g_Klength=2; g_Kmask=0x03;
}
else if( (ClickRow>=320 && ClickRow<=355) && vNewPNoSEL7!=3 )
{//色标间距
eStyle=0x0F;
memset(echar7, 0, 20);
sprintf(echar7, "%5.2f", SysSet.ColorWidthA/100.0);
Edit(355, 320, 100, 35, eStyle|0x40, echar7);
/*memset(echar7, 0, 10);
sprintf(echar7, "%5.2f", SysSet.ColorWidthB/100.0);
Edit(505, 320, 100, 35, eStyle, echar7);*/
vNewPNoSEL7=3;
syncflag7=1;
//vSErSEL7=1;
}
}
else if( (ClickCol>=505 && ClickCol<=605) )
{//B系列
if( (ClickRow>=220 && ClickRow<=255) && vNewPNoSEL7!=4 )
{//标准选择
eStyle=(VarST3000.Language?0x01:0x03);
Edit(505, 220, 100, 35, eStyle|0x40, szptr_m7_2[4+SysSet.bitStand.BsetStandard][VarST3000.Language]);
//Edit(355, 220, 100, 35, eStyle, szptr_m7_2[4+SysSet.bitStand.AsetStandard][VarST3000.Language]);
vNewPNoSEL7=4;
syncflag7=1;
//vSErSEL7=2;
}
else if( (ClickRow>=270 && ClickRow<=305) && vNewPNoSEL7!=5 )
{//标记角度
eStyle=0x0F;
memset(echar7, 0, 20);
sprintf(echar7, "%5d", SysSet.BSignTangle);
Edit(505, 270, 100, 35, eStyle|0x40, echar7);
/*memset(echar7, 0, 10);
sprintf(echar7, "%5d", SysSet.ASignTangle);
Edit(355, 270, 100, 35, eStyle, echar7);*/
vNewPNoSEL7=5;
syncflag7=1;
//vSErSEL7=2;
// 清除输入缓冲区 屏蔽小数和符号输入 限定为2有效数长度
ClearKBuffer();
g_Klength=2; g_Kmask=0x03;
}
else if( (ClickRow>=320 && ClickRow<=355) && vNewPNoSEL7!=6 )
{//色标间距
eStyle=0x0f;
memset(echar7, 0, 20);
sprintf(echar7, "%5.2f", SysSet.ColorWidthB/100.0);
Edit(505, 320, 100, 35, eStyle|0x40, echar7);
/*memset(echar7, 0, 10);
sprintf(echar7, "%5.2f", SysSet.ColorWidthA/100.0);
Edit(355, 320, 100, 35, eStyle, echar7);*/
vNewPNoSEL7=6;
syncflag7=1;
//vSErSEL7=2;
}
}
else if((ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50 && ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+150) &&
(ClickRow>=450 && ClickRow<=500) && (vNewPNoSEL7==1||vNewPNoSEL7==4) )
{ //标准1
uStyle=(VarST3000.Language?0x81:0x03); //暂时表示按钮风格
eStyle=(VarST3000.Language?0x01:0x03);
Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50, 450, 100, 50,
uStyle|0x10, szptr_m7_2[4][VarST3000.Language], 192, 192, 192); //标准一
delay(15);
Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50, 450, 100, 50,
uStyle, szptr_m7_2[4][VarST3000.Language], 192, 192, 192); //标准一
if(vNewPNoSEL7==1)
{ //A系列
if(SysSet.bitStand.AsetStandard!=0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -