📄 3kmenu5.c
字号:
Button(txB, tyBE, SizeAttrB.w, SizeAttrB.h, bSTL, szB, 192, 192, 192);
SyncHMotorM5_11(txE, tyBE+(SizeAttrB.h/2), t);
}
MotorKey_M5(1,0);
MotorKey_M5(4,0);
MotorKey_M5(5,0);
break;
case 12: // 预套准纵横向调整系数
nCoefChoice=0;
if( VarST3000.Language )
{
Button(250, 200, 120, 30, 0x11, "V-Coefficient", 192, 192, 192);
Button(250, 250, 120, 30, 0x01, "H-Coefficient", 192, 192, 192);
}
else
{
Button(250, 200, 120, 30, 0x13, "纵向调整系数", 192, 192, 192);
Button(250, 250, 120, 30, 0x03, "横向调整系数", 192, 192, 192);
}
memset(szE, 0, 10);
sprintf(szE, "%4.2f", SysSet.VCoef/100.0);
Edit(400, 200, 150, 30, 0x4f, szE);
memset(szE, 0, 10);
sprintf(szE, "%4.2f", SysSet.HCoef/100.0);
Edit(400, 250, 150, 30, 0x0f, szE);
break;
case 13:
if( Edition3K.YtzMachID==1 )
{ SubM5_Fr13A();}
else
{ SubM5_Fr13B();}
tyBE =MenuAttr.sY+80;
txB=(MenuAttr.bW-240)/3; //这里表示的是按钮之间空白区域的宽
Rect(MenuAttr.sX+MenuAttr.tW+txB, tyBE+400, 120, 70, (Edition3K.YtzMachID==1?1:0));
ShowICO4064(1, MenuAttr.sX+MenuAttr.tW+txB+40, tyBE+403);
Rect(MenuAttr.sX+MenuAttr.tW+txB*2+120, tyBE+400, 120, 70, (Edition3K.YtzMachID==2?1:0));
ShowICO4064(2, MenuAttr.sX+MenuAttr.tW+txB*2+160, tyBE+403);
txB =MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50;
bSTL=(VarST3000.Language ? 0x81 : 0x03);
Button(txB, 450, 100, 50, bSTL, szptr_okcancel[0][VarST3000.Language], 192, 192, 192); // OK
txB+=120;
Button(txB, 450, 100, 50, bSTL, szptr_okcancel[1][VarST3000.Language], 192, 192, 192); // CANCEL
break;
default:
break;
}
}
/***
处理每个页的事件响应
***/
void RespPAGE_M5(const int iPAGE)
{
int nVAL0,nVAL1,NO;
long lVAL0,lVAL1;
float fVAL0;
unsigned char szTemp[20]={0};
switch( iPAGE )
{
case 2: // 纵向重复值
if( vNewUnitSEL5 )
{
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{ // Enter
if(strlen(Dispbuf))
{
fVAL0=atof(Dispbuf)*100;
lVAL0=(long)fVAL0;
if(lVAL0>=-100000 && lVAL0<=99900)
{
unit[vNewUnitSEL5-1].submenu6.VRepeatValue=lVAL0;
REC_Sub6(vNewUnitSEL5-1, 3);
}
else
{ MessageBox( (VarST3000.Language ? "Range from -1000 to 999.0" : "范围从-1000到999.0") );}
}
sprintf(szTemp, "%6.2f", unit[vNewUnitSEL5-1].submenu6.VRepeatValue/100.0);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0x4f, szTemp);
ClearKBuffer();
}
else
{ // 显示输入内容
ProcNumKBinp(NO);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
}
break;
case 3: // 纵向修正值
if( vNewUnitSEL5 )
{
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{ // Enter
if(strlen(Dispbuf))
{
fVAL0=atof(Dispbuf)*100;
lVAL0=(long)fVAL0;
if(lVAL0>=-2000000 && lVAL0<=2000000)
{
lVAL1=unit[vNewUnitSEL5-1].submenu6.VAdjustValue;
unit[vNewUnitSEL5-1].submenu6.VAdjustValue=lVAL0;
REC_Sub6(vNewUnitSEL5-1, 4);
if( !Gen_ytzCAL(Edition3K.YtzMachID) )
{
MessageBox( (VarST3000.Language ? "System parameter error." : "系统机械参数错误,请核实!") );
unit[vNewUnitSEL5-1].submenu6.VAdjustValue=lVAL1;
}
}
else
{ MessageBox( (VarST3000.Language ? "Range from -20000 to 20000" : "范围从-20000到20000") );}
}
sprintf(szTemp, "%7.2f", unit[vNewUnitSEL5-1].submenu6.VAdjustValue/100.0);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0x4f, szTemp);
ClearKBuffer();
}
else
{ // 显示输入内容
ProcNumKBinp(NO);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
}
break;
case 4: // 纵向设定值
if( vNewUnitSEL5 )
{
NO=RespNumKBoard();
if( NO!=100 )
{
if( NO==205 )
{ // Enter
if(strlen(Dispbuf))
{
fVAL0=atof(Dispbuf)*100;
lVAL0=(long)fVAL0;
if(lVAL0>=0 && lVAL0<=250000)
{
unit[vNewUnitSEL5-1].submenu6.VSetupValue=lVAL0;
REC_Sub6(vNewUnitSEL5-1, 5);
}
else
{ MessageBox( (VarST3000.Language ? "Range from 0 to 2500" : "范围从0到2500") );}
}
sprintf(szTemp, "%6.2f", unit[vNewUnitSEL5-1].submenu6.VSetupValue/100.0);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0x4f, szTemp);
ClearKBuffer();
}
else
{ //显示输入内容
ProcNumKBinp(NO);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
}
break;
case 5: //纵向电机
{
int x,y;
if( (ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+80 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+180) &&
(ClickRow>=MenuAttr.sY+180 && ClickRow<=MenuAttr.sY+230) &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.i &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.j &&
unit[vNewUnitSEL5-1].submenu1.bitfield.hand_auto==0 &&
unit[vNewUnitSEL5-1].submenu6.VMotorControls!=1)
{ //上
HideMouse();
MotorKey_M5(2,1);
delay(5);
MotorKey_M5(2,0);
ShowMouse();
unit[vNewUnitSEL5-1].submenu6.VMotorControls=1;
//
x=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+25;
y=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance)+(SizeAttrB.h/2);
Bar(x-10, y-10, x+10, y+10, 192, 192, 192);
//
SyncVMotorM5_5(x, y, vNewUnitSEL5-1);
if( (unit[vNewUnitSEL5-1].submenu1.unitworksnum.i==1 &&
unit[vNewUnitSEL5-1].submenu1.bitTurns.turnsoflabsA==3) ||
(unit[vNewUnitSEL5-1].submenu1.unitworksnum.i==2 &&
unit[vNewUnitSEL5-1].submenu1.bitTurns.turnsoflabsB==3) )
{
if(unit[vNewUnitSEL5-1].submenu1.bitTurns.omk_motorreverse)
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0xff;}
else
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0x7f;}
}
else
{
if(unit[vNewUnitSEL5-1].submenu1.bitfield.vmotorreverse)
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0xff;}
else
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0x7f;}
}
CommandData[vNewUnitSEL5-1].CmdC[1]=0xff;
CommandData[vNewUnitSEL5-1].CmdC[2]=0xff;
SendCnlData(vNewUnitSEL5-1, 0x0C);
MotorFlags[vNewUnitSEL5-1]|=0x01; //记录纵向
}
else if((ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+80 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+180) &&
(ClickRow>=MenuAttr.sY+250 && ClickRow<=MenuAttr.sY+300) &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.i &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.j &&
unit[vNewUnitSEL5-1].submenu1.bitfield.hand_auto==0 &&
unit[vNewUnitSEL5-1].submenu6.VMotorControls!=0)
{ //停
HideMouse();
MotorKey_M5(1,1);
delay(5);
MotorKey_M5(1,0);
ShowMouse();
unit[vNewUnitSEL5-1].submenu6.VMotorControls=0;
//
x=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+25;
y=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance)+(SizeAttrB.h/2);
Bar(x-10, y-10, x+10, y+10, 192, 192, 192);
//
SyncVMotorM5_5(x, y, vNewUnitSEL5-1);
CommandData[vNewUnitSEL5-1].CmdC[0]=0x00;
CommandData[vNewUnitSEL5-1].CmdC[1]=0x00;
CommandData[vNewUnitSEL5-1].CmdC[2]=0x00;
SendCnlData(vNewUnitSEL5-1, 0x0C);
MotorFlags[vNewUnitSEL5-1]&=0x10; //清除纵向保留横向
}
else if((ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+80 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+180) &&
(ClickRow>=MenuAttr.sY+320 && ClickRow<=MenuAttr.sY+370) &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.i &&
unit[vNewUnitSEL5-1].submenu1.unitworksnum.j &&
unit[vNewUnitSEL5-1].submenu1.bitfield.hand_auto==0 &&
unit[vNewUnitSEL5-1].submenu6.VMotorControls!=2)
{ //下
HideMouse();
MotorKey_M5(3,1);
delay(5);
MotorKey_M5(3,0);
ShowMouse();
unit[vNewUnitSEL5-1].submenu6.VMotorControls=2;
//
x=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+25;
y=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance)+(SizeAttrB.h/2);
Bar(x-10, y-10, x+10, y+10, 192, 192, 192);
//
SyncVMotorM5_5(x, y, vNewUnitSEL5-1);
if( (unit[vNewUnitSEL5-1].submenu1.unitworksnum.i==1 &&
unit[vNewUnitSEL5-1].submenu1.bitTurns.turnsoflabsA==3) ||
(unit[vNewUnitSEL5-1].submenu1.unitworksnum.i==2 &&
unit[vNewUnitSEL5-1].submenu1.bitTurns.turnsoflabsB==3) )
{
if(unit[vNewUnitSEL5-1].submenu1.bitTurns.omk_motorreverse)
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0x7f;}
else
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0xff;}
}
else
{
if(unit[vNewUnitSEL5-1].submenu1.bitfield.vmotorreverse)
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0x7f;}
else
{ CommandData[vNewUnitSEL5-1].CmdC[0]=0xff;}
}
CommandData[vNewUnitSEL5-1].CmdC[1]=0xff;
CommandData[vNewUnitSEL5-1].CmdC[2]=0xff;
SendCnlData(vNewUnitSEL5-1, 0x0C);
MotorFlags[vNewUnitSEL5-1]|=0x01; //记录纵向
}
}
break;
case 6: //横向重复值
if(vNewUnitSEL5>0)
{
NO=RespNumKBoard();
if(NO!=100)
{
if(NO==205) //Enter
{ //显示确认后的内容
if(strlen(Dispbuf))
{
fVAL0=atof(Dispbuf)*100;
lVAL0=(long)fVAL0;
if(lVAL0>=-100000 && lVAL0<=99900)
{
unit[vNewUnitSEL5-1].submenu6.HRepeatValue=lVAL0;
REC_Sub6(vNewUnitSEL5-1, 6); //记录横向重复值
}
else
{ MessageBox( (VarST3000.Language ? "Range from -1000 to 999.0" : "范围从-1000到999.0") );}
}
sprintf(szTemp, "%6.2f", unit[vNewUnitSEL5-1].submenu6.HRepeatValue/100.0);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0x4f, szTemp);
ClearKBuffer();
}
else
{ //显示输入内容
ProcNumKBinp(NO);
Edit(MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset+SizeAttrB.w+InstAttr.v_instance,
MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance),
SizeAttrE.w, SizeAttrE.h, 0xcf, Dispbuf);
}
}
}
break;
case 7: //横向设定值
if( vNewUnitSEL5 )
{
NO=RespNu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -