📄 3kmenu5.c
字号:
vItemSEL5=i+1;
SetFocus513(0x11, vItemSEL5);
ClearKBuffer();
return;
}
}
}
if( (ClickCol>=MenuAttr.sX+MenuAttr.tW+385 && ClickCol<=MenuAttr.sX+MenuAttr.tW+485) &&
(ClickRow>=MenuAttr.sY+260 && ClickRow<=MenuAttr.sY+295))
{
if( Str6xtcs.flag==1 )
{ Str6xtcs.flag=0;
Button(MenuAttr.sX+MenuAttr.tW+385, MenuAttr.sY+260, 100, 35,
(VarST3000.Language?0x81:0x03), szptr_pw_1[17][VarST3000.Language], 192, 192, 192);
}
else
{ Str6xtcs.flag=1;
Button(MenuAttr.sX+MenuAttr.tW+385, MenuAttr.sY+260, 100, 35,
(VarST3000.Language?0x91:0x13), szptr_pw_1[16][VarST3000.Language], 192, 192, 192);
}
return;
}
if( (ClickCol>=MenuAttr.sX+MenuAttr.tW+(MenuAttr.bW-240)/3 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+(MenuAttr.bW-240)/3+120) &&
(ClickRow>=MenuAttr.sY+480 && ClickRow<=MenuAttr.sY+550))
{ // 标准1
Edition3K.YtzMachID=1;
ClearM5_Fr13();
SubM5_Fr13A();
Rect(MenuAttr.sX+MenuAttr.tW+((MenuAttr.bW-240)/3), MenuAttr.sY+480, 120, 70, 1);
Rect(MenuAttr.sX+MenuAttr.tW+((MenuAttr.bW-240)/3)*2+120, MenuAttr.sY+480, 120, 70, 0);
REC_Version();
return;
}
kNO=RespNumKBoard();
if( kNO!=100 )
{
if( kNO==205 )
{ // Enter
if(strlen(Dispbuf))
{
fVAL=atof(Dispbuf);
if(vItemSEL5==1) { Str6xtcs.x1=fVAL;}
else if(vItemSEL5==2) { Str6xtcs.y1=fVAL;}
else if(vItemSEL5==3) { Str6xtcs.x5=fVAL;}
else if(vItemSEL5==4) { Str6xtcs.y5=fVAL;}
else if(vItemSEL5==5) { Str6xtcs.x6=fVAL;}
else if(vItemSEL5==6) { Str6xtcs.y6=fVAL;}
else if(vItemSEL5==7) { Str6xtcs.d1=fVAL;}
else if(vItemSEL5==8) { Str6xtcs.d3=fVAL;}
else if(vItemSEL5==9) { Str6xtcs.m=fVAL;}
}
SetFocus513(0x11, vItemSEL5);
ClearKBuffer();
}
else
{
ProcNumKBinp(kNO);
SyncInputing513(0x10, vItemSEL5, Dispbuf);
}
}
}
if( (ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+150) &&
(ClickRow>=450 && ClickRow<=500) )
{ // OK
//Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50, 450, 100, 50, 0x10, NULL, 192, 192, 192);
Rect(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50, 450, 100, 50, 1);
delay(BTN_DELAY);
Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+50, 450, 100, 50,
(VarST3000.Language?0x81:0x03), szptr_okcancel[0][VarST3000.Language], 192, 192, 192);
if( !Gen_ytzCAL(Edition3K.YtzMachID) )
{ MessageBox( (VarST3000.Language ? "System parameter error." : "系统机械参数错误,请核实!") );}
else
{
fseek(DataFile, (long)sizeof(Units)*MAXCNL_3K+sizeof(SystemSettings), SEEK_SET);
fwrite(&Str6xtcs, sizeof(Str6xt), 1, DataFile);
fclose(DataFile);
DataFile=fopen("SysData.dat", "rb+");
}
}
else if((ClickCol>=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+170 &&
ClickCol<=MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+270) &&
(ClickRow>=450 && ClickRow<=500) )
{ // CANCEL
//Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+170, 450, 100, 50, 0x10, NULL, 192, 192, 192);
Rect(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+170, 450, 100, 50,1);
delay(BTN_DELAY);
Button(MenuAttr.sX+MenuAttr.tW+MenuAttr.bW+170, 450, 100, 50,
(VarST3000.Language?0x81:0x03), szptr_okcancel[1][VarST3000.Language], 192, 192, 192);
fseek(DataFile, (long)sizeof(Units)*MAXCNL_3K+sizeof(SystemSettings), SEEK_SET);
fread(&Str6xtcs, sizeof(Str6xt), 1, DataFile);
if( Edition3K.YtzMachID==1 )
{ SubM5_Fr13A();}
else
{ SubM5_Fr13B();}
}
}
/*
void ___Process4OtherPages___(void)
*/
/******************************
描述: 纵向电机运动方向
******************************/
void SyncVMotorM5_5(const int x0, const int y0, const int iCNL)
{
int shape[6];
switch(unit[iCNL].submenu6.VMotorControls)
{
case 0:
Circle(x0, y0, 10, 0, 0, 255);
break;
case 1:
shape[0]=x0;
shape[1]=y0-10;
shape[2]=x0-10;
shape[3]=y0+10;
shape[4]=x0+10;
shape[5]=y0+10;
FillPoly(3, shape, 0, 255, 0);
break;
case 2:
shape[0]=x0-10;
shape[1]=y0-10;
shape[2]=x0+10;
shape[3]=y0-10;
shape[4]=x0;
shape[5]=y0+10;
FillPoly(3, shape, 0, 255, 0);
break;
default:
break;
}
}
/******************************
描述: 横向电机运动方向
******************************/
void SyncHMotorM5_11(const int x0, const int y0, const int iCNL)
{
int shape[6];
switch(unit[iCNL].submenu6.HMotorControls)
{
case 0:
Circle(x0,y0,10,0,0,255);
break;
case 1:
shape[0]=x0-10;
shape[1]=y0-10;
shape[2]=x0-10;
shape[3]=y0+10;
shape[4]=x0+10;
shape[5]=y0;
FillPoly(3,shape,0,255,0);
break;
case 2:
shape[0]=x0+10;
shape[1]=y0-10;
shape[2]=x0+10;
shape[3]=y0+10;
shape[4]=x0-10;
shape[5]=y0;
FillPoly(3,shape,0,255,0);
break;
default:
break;
}
}
/******************************
描述: 同步非手动电机页的通道按钮选择 带有编辑框显示内容的刷新
******************************/
void SyncUnitSEL_M5(void)
{
int tmpnewx,tmpnewy;
char szChar[10]={0};
/*
需要恢复的光标
*/
if( vNewUnitSEL5!=vOldUnitSEL5 && vOldUnitSEL5>0 )
{
tmpnewx=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset;
tmpnewy=MenuAttr.sY+InstAttr.y_offset+(vOldUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance);
memset(szChar, 0, 10);
sprintf(szChar, "%dU", vOldUnitSEL5);
Button(tmpnewx, tmpnewy, SizeAttrB.w, SizeAttrB.h, 0x81, szChar, 192, 192, 192);
memset(szChar, 0, 10);
if( vNewPageSEL5==2 )
{ // 纵向重复值
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.VRepeatValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==3)
{ // 纵向修正值
sprintf(szChar, "%7.2f", unit[vOldUnitSEL5-1].submenu6.VAdjustValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==4)
{ // 纵向设定值
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.VSetupValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==6)
{ // 横向重复值
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.HRepeatValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==7)
{ // 横向设定值
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.HSetupValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==8)
{ // 横向行程
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.HMaxValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==9)
{ // 横辊宽度
sprintf(szChar, "%6.2f", unit[vOldUnitSEL5-1].submenu6.HWidth/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
else if(vNewPageSEL5==10)
{ // 压轮直径
sprintf(szChar, "%6d", unit[vOldUnitSEL5-1].submenu6.DofRoll);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x0f, szChar);
}
}
/*
需要设置的光标
*/
tmpnewx=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset;
tmpnewy=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance);
memset(szChar, 0, 10);
sprintf(szChar, "%dU", vNewUnitSEL5);
Button(tmpnewx, tmpnewy, SizeAttrB.w, SizeAttrB.h, 0x91, szChar, 192, 192, 192);
memset(szChar, 0, 10);
if(vNewPageSEL5==2)
{ // 纵向重复值
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.VRepeatValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==3)
{ // 纵向修正值
sprintf(szChar, "%7.2f", unit[vNewUnitSEL5-1].submenu6.VAdjustValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==4)
{ // 纵向设定值
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.VSetupValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==6)
{ // 横向重复值
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.HRepeatValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==7)
{ // 横向设定值
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.HSetupValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==8)
{ // 横向行程
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.HMaxValue/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==9)
{ // 横辊宽度
sprintf(szChar, "%6.2f", unit[vNewUnitSEL5-1].submenu6.HWidth/100.0);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
else if(vNewPageSEL5==10)
{ // 压轮直径
sprintf(szChar, "%6d", unit[vNewUnitSEL5-1].submenu6.DofRoll);
Edit(tmpnewx+SizeAttrB.w+InstAttr.v_instance, tmpnewy, SizeAttrE.w, SizeAttrE.h, 0x4f, szChar);
}
vOldUnitSEL5=vNewUnitSEL5;
ClearKBuffer();
}
/******************************
描述: 同步手动电机页的通道按钮选择 PAGE_5 . PAGE_11
******************************/
void SyncUnitSEL_P511(void)
{
unsigned char szChar[10]={0};
int tmpnewx=MenuAttr.sX+MenuAttr.tW+InstAttr.x_offset;
int tmpnewy=MenuAttr.sY+InstAttr.y_offset+(vOldUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance);
/* 旧 */
sprintf(szChar, "%dU", vOldUnitSEL5);
Button(tmpnewx, tmpnewy, SizeAttrB.w, SizeAttrB.h, 0x81, szChar, 192, 192, 192);
/* 新 */
tmpnewy=MenuAttr.sY+InstAttr.y_offset+(vNewUnitSEL5-1)*(SizeAttrB.h+InstAttr.h_instance);
memset(szChar, 0, 10);
sprintf(szChar, "%dU", vNewUnitSEL5);
Button(tmpnewx, tmpnewy, SizeAttrB.w, SizeAttrB.h, 0x91, szChar, 192, 192, 192);
vOldUnitSEL5=vNewUnitSEL5;
}
/***
设置键盘输入限制
***/
void SetKState5(const int pageID)
{
switch( pageID )
{
case 2: // 纵向重复值
case 6: // 横向重复值
g_Klength=6; g_Kmask=0x00;
break;
case 3: // 纵向修正值
g_Klength=7; g_Kmask=0x00;
break;
case 4: // 纵向设定值
g_Klength=6; g_Kmask=0x02;
break;
case 7: // 横向设定值
g_Klength=5; g_Kmask=0x02;
break;
case 8: // 横辊修正量
g_Klength=5; g_Kmask=0x00;
break;
case 9: // 横辊行程
g_Klength=5; g_Kmask=0x02;
break;
case 10: // 压轮直径
g_Klength=3; g_Kmask=0x03;
break;
case 12: // 预套准纵横向调整系数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -