// MyDlgBarInputShow.cpp: 实现文件 // #include "pch.h" #include "MTerm1.h" #include "MyDlgBarInputShow.h" #include "afxdialogex.h" #include "KDefine.h" #include "MTerm1View.h" #include "MainFrm.h" // CMyDlgBarInputShow 对话框 IMPLEMENT_DYNAMIC(CMyDlgBarInputShow, CDialogBar) CMyDlgBarInputShow::CMyDlgBarInputShow(CWnd* pParent /*=nullptr*/) { } CMyDlgBarInputShow::~CMyDlgBarInputShow() { } void CMyDlgBarInputShow::DoDataExchange(CDataExchange* pDX) { CDialogBar::DoDataExchange(pDX); DDX_Control(pDX, IDC_EDIT_INPUT, m_edit_input); } BEGIN_MESSAGE_MAP(CMyDlgBarInputShow, CDialogBar) END_MESSAGE_MAP() // CMyDlgBarInputShow 消息处理程序 //SetDlgItemText(IDC_EDIT_INPUT, myButtons[0][0].sCaption); int flag = 0; int CMyDlgBarInputShow::SetDisplay(int inputInfo) { /*stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = KLCoilTypeY; stInputCell.num = _T("1234");*/ static int clickCounter = 0; static int clickCounterDF = 0; static int clickCounterNot = 0; static int clickCounterCMP = 0; static int clickCounterD = 0; static int clickCounterF = 0; static char curTaskState = 'A'; static int lastLParam = 0; static int lastCMP = 0; static CString str, strStoreB, strStoreC, strNum; static CString strOp, strParam; CString s1, strNumTemp; int para = 0; int HParam, LParam; s1.Format(_T("is this window %d"), IsWindow(m_hWnd)); SysLog(s1); // ChangeState(inputInfo>>16, lastTaskState, curTaskState); if (inputInfo == 0x00010008) { clickCounterDF++; if (clickCounterDF == 1) //DF redefine key value { inputInfo = 0x00010008; } else if (clickCounterDF == 2) { inputInfo = 0x00010009; clickCounterDF = 0; } } if (inputInfo == 0x00010010) { clickCounter++; if (clickCounter == 1) //updown redefine key value { inputInfo = 0x00010010; } else if (clickCounter == 2) { inputInfo = 0x00010011; } else if (clickCounter == 3) { inputInfo = 0x00010012; clickCounter = 0; } } if (inputInfo == 0x00010013) { clickCounterNot++; if (clickCounterNot == 1) //NOT redefine key value { inputInfo = 0x00010013; } else if (clickCounterNot == 2) { inputInfo = 0x00010014; clickCounterNot = 0; } } if (inputInfo == 0x00010015) { clickCounterD++; if (clickCounterD == 1) //D redefine key value { inputInfo = 0x00010015; } else if (clickCounterD == 2) { inputInfo = 0x00010017; clickCounterD = 0; } } if (inputInfo == 0x00010016) { clickCounterF++; if (clickCounterF== 1) //D redefine key value { inputInfo = 0x00010016; } else if (clickCounterF == 2) { inputInfo = 0x00010018; clickCounterF = 0; } } HParam = inputInfo >> 16; LParam = inputInfo & 0xffff; switch (curTaskState) { case 'A': if (HParam == 0x1) //operator 1 { stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; stInputCell.bcmpGt = false; stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.bLeftLineUp = false; stInputCell.brightLineUp = false; if ((LParam>=0x1)&& (LParam <= 0x0f)) { if ((LParam == 0x8) || (LParam == 0x9)) //IF DF not clear df { clickCounter = 0; clickCounterNot = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } else { if (lastLParam != LParam) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } } } if ((lastLParam == 0x14) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //from not to updown { clickCounter = 1; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //from up to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //from down to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x13) && ((LParam == 0x10)|| (LParam == 0x11)|| (LParam == 0x12))) //not { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x15) && ((LParam == 0x16) || (LParam == 0x18))) //D ,"", F,"" { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x15)&&((LParam == 0x16)||(LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x17) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x16) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } if ((lastLParam == 0x18) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } switch (LParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param= 0x10; //0x10 define para null lastLParam = LParam; curTaskState = 'B'; break; case 0x02: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; lastLParam = LParam; curTaskState = 'B'; break; case 0x03: stInputCell.OP = CMTerm1View::typeOUT; stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; /*case 4: strOp = _T("(MC)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break; case 5: strOp = _T("(MCE)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break;*/ case 0x06: stInputCell.OP = CMTerm1View::typeSET; stInputCell.param = 0x10; lastLParam = LParam;curTaskState = 'B'; break; case 0x07: stInputCell.OP = CMTerm1View::typeRESET; stInputCell.param = 0x10; lastLParam = LParam;curTaskState = 'B'; break; case 0x08: stInputCell.OP = CMTerm1View::typeDF;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x09: stInputCell.OP = CMTerm1View::typeDF_;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x0a: strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break; case 0x0b: stInputCell.OP = CMTerm1View::typeTM;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; case 0x10: stInputCell.bpp = true; stInputCell.bpn = false; lastLParam = LParam; break; case 0x11: stInputCell.bpp = false; stInputCell.bpn = true; lastLParam = LParam; break; case 0x12: stInputCell.bpp = false; stInputCell.bpn = false; lastLParam = LParam; break; case 0x13: switch (lastLParam) { case 0x03: case 0x06: case 0x07: case 0x15: case 0x17: case 0x16: case 0x18: case 0x20: case 0x21: case 0x22: stInputCell.OP = CMTerm1View::typeNOT; clickCounterNot = 0; curTaskState = 'A'; default: break; } switch (lastLParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNC;break; case 0x02: stInputCell.OP = CMTerm1View::typeNC; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; break; default: break; } lastLParam = LParam; stInputCell.bnot = true; break; case 0x14: stInputCell.bnot = false; break; case 0x15: stInputCell.bDouble = true; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x17: stInputCell.bDouble = false; stInputCell.bDouble1 = true; stInputCell.bFloat = false; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x16: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = true; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x18: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = true; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; default: break; } } str = strOp; break; case 'B': str = strOp; if (HParam == 0x1) //operator 1 { stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; stInputCell.bcmpGt = false; stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.bLeftLineUp = false; stInputCell.brightLineUp = false; if ((LParam >= 0x0) && (LParam <= 0x0f)) { if ((LParam == 0x08) || (LParam ==0x09)) { clickCounter = 0; clickCounterNot = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } else { if (lastLParam != LParam) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } } } if ((lastLParam == 0x13) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //from not to updown { clickCounter = 1; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x14) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //from not to updown { clickCounter = 1; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //from up to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //from down to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x15) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x17) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x16) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } if ((lastLParam == 0x18) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } switch (LParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; //0x10 define para null lastLParam = LParam; curTaskState = 'B'; break; case 0x02: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; lastLParam = LParam; curTaskState = 'B'; break; case 0x03: stInputCell.OP = CMTerm1View::typeOUT; stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; /*case 4: strOp = _T("(MC)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break; case 5: strOp = _T("(MCE)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break;*/ case 0x06: stInputCell.OP = CMTerm1View::typeSET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x07: stInputCell.OP = CMTerm1View::typeRESET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x08: stInputCell.OP = CMTerm1View::typeDF;;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x9: stInputCell.OP = CMTerm1View::typeDF_;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x0a: strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break; case 0x0b: stInputCell.OP = CMTerm1View::typeTM;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; case 0x10: stInputCell.bpp = true; stInputCell.bpn = false; lastLParam = LParam; break; case 0x11: stInputCell.bpp = false; stInputCell.bpn = true; lastLParam = LParam; break; case 0x12: stInputCell.bpp = false; stInputCell.bpn = false; lastLParam = LParam; break; case 0x13: switch (lastLParam) { case 0x03: case 0x06: case 0x07: case 0x15: case 0x17: case 0x16: case 0x18: case 0x20: case 0x21: case 0x22: stInputCell.OP = CMTerm1View::typeNOT; clickCounterNot = 0; curTaskState = 'A'; default: break; } switch (lastLParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNC;break; case 0x02: stInputCell.OP = CMTerm1View::typeNC; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; break; default: break; } lastLParam = LParam; stInputCell.bnot = true; break; case 0x14: stInputCell.bnot = false; break; case 0x15: stInputCell.bDouble = true; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x17: stInputCell.bDouble = false; stInputCell.bDouble1 = true; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x16: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = true; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x18: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = true; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; default: break; } } else if (HParam == 0x2) { switch (LParam) { case 1: stInputCell.param = KLCoilTypeX;curTaskState = 'C'; break; case 2: stInputCell.param = KLCoilTypeY;curTaskState = 'C'; break; case 3: stInputCell.param = KLCoilTypeR;curTaskState = 'C'; break; case 4: stInputCell.param = KLCoilTypeLR; curTaskState = 'C';break; case 5: strParam = _T(" P");curTaskState = 'C'; break; case 6: stInputCell.param = KLCoilTypeT; curTaskState = 'C';break; case 7: stInputCell.param = KLCoilTypeC;curTaskState = 'C'; break; case 8: strParam = _T(" E");curTaskState = 'C'; break; case 9: stInputCell.param = OP_TMX;curTaskState = 'C'; break; case 0x0a: stInputCell.param = OP_TMY;curTaskState = 'C'; break; case 0x0b: stInputCell.param = OP_TMR;curTaskState = 'C'; break; case 0x0c: stInputCell.param = OP_TML;curTaskState = 'C'; break; case 0x0d: if ((lastLParam==0x03)|| (lastLParam == 0x06)|| (lastLParam == 0x07)|| (lastLParam == 0x08)|| (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x20; stInputCell.bcmpEq = true; if(lastCMP!= LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } if (clickCounterCMP>2) { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0e: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x21; stInputCell.bcmpGt = true; if (lastCMP != LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0f: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x22; // define op para; for translate to -/- stInputCell.bcmpLt = true; if (lastCMP != LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } lastCMP = LParam; //record key num = > < curTaskState = 'B'; break; default: break; } } break; case 'C': // str = strOp + _T(" ") + strParam; if (HParam == 0x01) //operator 1 { stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; stInputCell.bcmpGt = false; stInputCell.bDouble = false; stInputCell.bFloat1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.bLeftLineUp = false; stInputCell.brightLineUp = false; if ((LParam >= 0x01) && (LParam <= 0x0f)) { if ((LParam == 0x08) || (LParam ==0x09)) { clickCounter = 0; clickCounterNot = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } else { if (lastLParam != LParam) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } } } if ((lastLParam == 0x14) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //from not to updown { clickCounter = 1; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //from up to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //from down to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x13) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //not { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x15) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x17) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x16) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } if ((lastLParam == 0x18) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } switch (LParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; //0x10 define para null lastLParam = LParam; curTaskState = 'B'; break; case 0x02: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; lastLParam = LParam; curTaskState = 'B'; break; case 0x03: stInputCell.OP = CMTerm1View::typeOUT; stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; /*case 4: strOp = _T("(MC)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break; case 5: strOp = _T("(MCE)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break;*/ case 0x06: stInputCell.OP = CMTerm1View::typeSET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x07: stInputCell.OP = CMTerm1View::typeRESET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x08: stInputCell.OP = CMTerm1View::typeDF;;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x09: stInputCell.OP = CMTerm1View::typeDF_;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x0a: strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break; case 0x0b: stInputCell.OP = CMTerm1View::typeTM;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; case 0x10: stInputCell.bpp = true; stInputCell.bpn = false; break; case 0x11: stInputCell.bpp = false; stInputCell.bpn = true; break; case 0x12: stInputCell.bpp = false; stInputCell.bpn = false; break; case 0x13: switch (lastLParam) { case 0x03: case 0x06: case 0x07: case 0x15: case 0x17: case 0x16: case 0x18: case 0x20: case 0x21: case 0x22: stInputCell.OP = CMTerm1View::typeNOT; clickCounterNot = 0; curTaskState = 'A'; default: break; } switch (lastLParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNC;break; case 0x02: stInputCell.OP = CMTerm1View::typeNC; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; break; default: break; } lastLParam = LParam; stInputCell.bnot = true; break; case 0x14: stInputCell.bnot = false; break; case 0x15: stInputCell.bDouble = true; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x17: stInputCell.bDouble = false; stInputCell.bDouble1 = true; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x16: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = true; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x18: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = true; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; default: break; } } else if (HParam == 0x2) { switch (LParam) { case 1: stInputCell.param = KLCoilTypeX;curTaskState = 'C'; break; case 2: stInputCell.param = KLCoilTypeY;curTaskState = 'C'; break; case 3: stInputCell.param = KLCoilTypeR;curTaskState = 'C'; break; case 4: stInputCell.param = KLCoilTypeLR; curTaskState = 'C';break; case 5: strParam = _T(" P");curTaskState = 'C'; break; case 6: stInputCell.param = KLCoilTypeT; curTaskState = 'C';break; case 7: stInputCell.param = KLCoilTypeC;curTaskState = 'C'; break; case 8: strParam = _T(" E");curTaskState = 'C'; break; case 9: stInputCell.param = OP_TMX;curTaskState = 'C'; break; case 0x0a: stInputCell.param = OP_TMY;curTaskState = 'C'; break; case 0x0b: stInputCell.param = OP_TMR;curTaskState = 'C'; break; case 0x0c: stInputCell.param = OP_TML;curTaskState = 'C'; break; case 0x0d: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x20; stInputCell.bcmpEq = true; if (lastCMP != LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0e: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x21; stInputCell.bcmpGt = true; if (lastCMP != LParam) { clickCounterCMP = 1; clickCounterCMP++; } else { stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0f: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x22; stInputCell.bcmpLt = true; if (lastCMP!= LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } lastCMP = LParam; curTaskState = 'B'; break; default: break; } } else if (HParam == 0x3) { switch (LParam) { case 0: strNumTemp = _T("0");curTaskState = 'D'; break; case 1: strNumTemp = _T("1");curTaskState = 'D'; break; case 2: strNumTemp = _T("2");curTaskState = 'D'; break; case 3: strNumTemp = _T("3"); curTaskState = 'D';break; case 4: strNumTemp = _T("4");curTaskState = 'D'; break; case 5: strNumTemp = _T("5");curTaskState = 'D'; break; case 6: strNumTemp = _T("6"); curTaskState = 'D';break; case 7: strNumTemp = _T("7");curTaskState = 'D'; break; case 8: strNumTemp = _T("8");curTaskState = 'D'; break; case 9: strNumTemp = _T("9");curTaskState = 'D'; break; case 0x0A: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; //state not change else { strNumTemp = _T("A");curTaskState = 'D'; } break; case 0x0B: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("B");curTaskState = 'D'; } break; case 0x0C: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("C"); curTaskState = 'D'; } break; case 0x0D: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("D");curTaskState = 'D'; } break; case 0x0E: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("E");curTaskState = 'D'; } break; case 0x0F: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("F");curTaskState = 'D'; } break; default: break; } if (stInputCell.num.GetLength() < 4) { stInputCell.num.Append(strNumTemp); } else { stInputCell.num = stInputCell.num.Right(stInputCell.num.GetLength() - 1); stInputCell.num.Append(strNumTemp); } } break; case 'D': if (HParam == 0x1) //operator 1 { stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; stInputCell.bcmpGt = false; stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.bLeftLineUp = false; stInputCell.brightLineUp = false; if ((LParam >= 0x01) && (LParam <= 0x0f)) { stInputCell.num.Empty(); if ((LParam == 0x08) || (LParam == 0x09)) { clickCounter = 0; clickCounterNot = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } else { if (lastLParam != LParam) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } } } if ((lastLParam == 0x14) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //from not to updown { clickCounter = 1; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //from up to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //from down to not { clickCounter = 0; clickCounterNot = 1; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x13) && ((LParam == 0x10) || (LParam == 0x11) || (LParam == 0x12))) //not { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x10) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x11) && ((LParam == 0x13) || (LParam == 0x14))) //updown { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 0; } if ((lastLParam == 0x15) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x17) && ((LParam == 0x16) || (LParam == 0x18))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 0; clickCounterF = 1; } if ((lastLParam == 0x16) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } if ((lastLParam == 0x18) && ((LParam == 0x15) || (LParam == 0x17))) { clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterCMP = 0; clickCounterD = 1; clickCounterF = 0; } switch (LParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; //0x10 define para null lastLParam = LParam; curTaskState = 'B'; break; case 0x02: stInputCell.OP = CMTerm1View::typeNO; stInputCell.param = 0x10; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; lastLParam = LParam; curTaskState = 'B'; break; case 0x03: stInputCell.OP = CMTerm1View::typeOUT; stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; /*case 4: strOp = _T("(MC)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break; case 5: strOp = _T("(MCE)");strParam = "";lastLParam = LParam;curTaskState = 'C'; break;*/ case 0x06: stInputCell.OP = CMTerm1View::typeSET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x07: stInputCell.OP = CMTerm1View::typeRESET; stInputCell.param = 0x10; ;lastLParam = LParam;curTaskState = 'B'; break; case 0x08: stInputCell.OP = CMTerm1View::typeDF;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x09: stInputCell.OP = CMTerm1View::typeDF_;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'A'; break; case 0x0a: strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break; case 0x0b: stInputCell.OP = CMTerm1View::typeTM;stInputCell.param = 0x10; lastLParam = LParam; curTaskState = 'B'; break; case 0x10: stInputCell.bpp = true; stInputCell.bpn = false; break; case 0x11: stInputCell.bpp = false; stInputCell.bpn = true; break; case 0x12: stInputCell.bpp = false; stInputCell.bpn = false; break; case 0x13: switch (lastLParam) { case 3: case 6: case 7: case 0x15: case 0x17: case 0x16: case 0x18: case 0x20: case 0x21: case 0x22: stInputCell.OP = CMTerm1View::typeNOT; clickCounterNot = 0; curTaskState = 'A'; default: break; } switch (lastLParam) { case 0x01: stInputCell.OP = CMTerm1View::typeNC;break; case 0x02: stInputCell.OP = CMTerm1View::typeNC; stInputCell.bLeftLineUp = true; stInputCell.brightLineUp = true; break; default: break; } lastLParam = LParam; stInputCell.bnot = true; break; case 0x14: stInputCell.bnot = false; break; case 0x15: stInputCell.bDouble = true; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x17: stInputCell.bDouble = false; stInputCell.bDouble1 = true; stInputCell.bFloat = false; stInputCell.bFloat1 = false; stInputCell.param = 0x10;lastLParam = LParam;curTaskState = 'B'; break; case 0x16: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = true; stInputCell.bFloat1 = false; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; case 0x18: stInputCell.bDouble = false; stInputCell.bDouble1 = false; stInputCell.bFloat = false; stInputCell.bFloat1 = true; lastLParam = LParam;stInputCell.param = 0x10;curTaskState = 'B'; break; default: break; } if(curTaskState != 'D') { stInputCell.num.Empty(); } } else if (HParam == 0x2) { switch (LParam) { case 1: stInputCell.param = KLCoilTypeX;curTaskState = 'C'; break; case 2: stInputCell.param = KLCoilTypeY;curTaskState = 'C'; break; case 3: stInputCell.param = KLCoilTypeR;curTaskState = 'C'; break; case 4: stInputCell.param = KLCoilTypeLR; curTaskState = 'C';break; case 5: strParam = _T(" P");curTaskState = 'C'; break; case 6: stInputCell.param = KLCoilTypeT; curTaskState = 'C';break; case 7: stInputCell.param = KLCoilTypeC;curTaskState = 'C'; break; case 8: strParam = _T(" E");curTaskState = 'C'; break; case 9: stInputCell.param = OP_TMX;curTaskState = 'C'; break; case 0x0a: stInputCell.param = OP_TMY;curTaskState = 'C'; break; case 0x0b: stInputCell.param = OP_TMR;curTaskState = 'C'; break; case 0x0c: stInputCell.param = OP_TML;curTaskState = 'C'; break; case 0x0d: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x20; stInputCell.bcmpEq = true; if (lastCMP!= LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpGt = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0e: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x21; stInputCell.bcmpGt = true; if (lastCMP != LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpLt = false; } lastCMP = LParam; curTaskState = 'B'; break; case 0x0f: if ((lastLParam == 0x03) || (lastLParam == 0x06) || (lastLParam == 0x07) || (lastLParam == 0x08) || (lastLParam == 0x09)) { stInputCell.OP = CMTerm1View::typeNO; stInputCell.bnot = false; stInputCell.bpp = false; stInputCell.bpn = false; clickCounter = 0; clickCounterNot = 0; clickCounterDF = 0; clickCounterD = 0; clickCounterF = 0; } lastLParam = 0x22; stInputCell.bcmpLt = true; if (lastCMP != LParam) { clickCounterCMP++; } else { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } if (clickCounterCMP > 2) { clickCounterCMP = 1; stInputCell.bcmpEq = false; stInputCell.bcmpGt = false; } lastCMP = LParam; curTaskState = 'B'; break; default: break; } if (curTaskState != 'D') { stInputCell.num.Empty(); } } else if (HParam == 0x3) { switch (LParam) { case 0: strNumTemp = _T("0");curTaskState = 'D'; break; case 1: strNumTemp = _T("1");curTaskState = 'D'; break; case 2: strNumTemp = _T("2");curTaskState = 'D'; break; case 3: strNumTemp = _T("3"); curTaskState = 'D';break; case 4: strNumTemp = _T("4");curTaskState = 'D'; break; case 5: strNumTemp = _T("5");curTaskState = 'D'; break; case 6: strNumTemp = _T("6"); curTaskState = 'D';break; case 7: strNumTemp = _T("7");curTaskState = 'D'; break; case 8: strNumTemp = _T("8");curTaskState = 'D'; break; case 9: strNumTemp = _T("9");curTaskState = 'D'; break; case 0x0A: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; //state not change else { strNumTemp = _T("A");curTaskState = 'D'; } break; case 0x0B: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("B");curTaskState = 'D'; } break; case 0x0C: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("C"); curTaskState = 'D'; } break; case 0x0D: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("D");curTaskState = 'D'; } break; case 0x0E: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("E");curTaskState = 'D'; } break; case 0x0F: if ((stInputCell.param == KLCoilTypeT) || (stInputCell.param == KLCoilTypeC)) ; else { strNumTemp = _T("F");curTaskState = 'D'; } break; default: break; } if (stInputCell.num.GetLength() < 4) { stInputCell.num.Append(strNumTemp); } else { stInputCell.num = stInputCell.num.Right(stInputCell.num.GetLength() - 1); stInputCell.num.Append(strNumTemp); for (int i = 0;i < stInputCell.num.GetLength() ;i++) { if (stInputCell.num[i] == _T('0')) { ; } else { flag = 1;break; } } if (flag==0) { stInputCell.num.Empty(); stInputCell.num.Append(_T("0")); } } int num = stInputCell.num.GetLength(); for (int i = 0; i < num; i++) { int len1 = stInputCell.num.GetLength(); if (len1 > 1 && stInputCell.num[0] == _T('0')) stInputCell.num = stInputCell.num.Right(stInputCell.num.GetLength() - 1); } } break; } //end switch if (HParam==0x14) { bool editEndFlag = false; //******************************************************************************************************** switch (stInputCell.OP) { case CMTerm1View::typeNO: case CMTerm1View::typeNC: case CMTerm1View::typeOUT: case CMTerm1View::typeSET: case CMTerm1View::typeRESET: case CMTerm1View::typeTM: if (curTaskState == 'D') { editEndFlag = true; } case CMTerm1View::typeDF: case CMTerm1View::typeDF_: if (curTaskState == 'A') { editEndFlag = true; } default: break; } if ((stInputCell.bcmpEq)||(stInputCell.bcmpGt)|| (stInputCell.bcmpLt)) { editEndFlag = true; } if (editEndFlag) { CMainFrame * p1 = (CMainFrame *)AfxGetMainWnd(); // p1->GetInputCell(stInputCell); } else { CMainFrame * p1 = (CMainFrame *)AfxGetMainWnd(); CString str = _T("无法确定指令输入"); //p1->m_wndStatusBar.GetStatusBarCtrl().SetBkColor(RGB(255, 0, 0)); p1->m_wndStatusBar.SetPaneText(0, str); } } display(stInputCell); return 0; } void CMyDlgBarInputShow::stInit() { stInputCell= { CMTerm1View::typeNO, false, false, false, false, false, false, false, false, false, false, false, false, 0x10, _T("") }; } int CMyDlgBarInputShow::display(tagInputCell stDisplayCell) { static CString strOp, strParam,strNum; static CString str; switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp)&&(stInputCell.brightLineUp)) { strOp = _T("└┤├┘"); } else { strOp = _T("-| |-"); } break; case CMTerm1View::typeNC: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤/├┘"); } else { strOp = _T("-|/|-"); } break; case CMTerm1View::typeOUT: strOp = _T("-[ ]"); break; case CMTerm1View::typeSET: strOp = _T("-"); break; case CMTerm1View::typeRESET: strOp = _T("-"); break; case CMTerm1View::typeDF: strOp = _T("(DF)"); break; case CMTerm1View::typeDF_: strOp = _T("(DF/)"); break; case CMTerm1View::typeNOT: strOp = _T("-/-"); break; case CMTerm1View::typeTM: strOp = _T("-[TM]"); break; case CMTerm1View::typeCMP: break; default: break; } if (stDisplayCell.bnot) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤/├┘"); } else { strOp = _T("-|/|-"); } break; case CMTerm1View::typeOUT: strOp = _T("-/-"); break; case CMTerm1View::typeSET: strOp = _T("-/-"); break; case CMTerm1View::typeRESET: strOp = _T("-/-"); break; case CMTerm1View::typeDF: strOp = _T("(DF/)"); break; case CMTerm1View::typeDF_: strOp = _T("(DF)"); break; case CMTerm1View::typeNOT: strOp = _T("-/-"); break; case CMTerm1View::typeTM: strOp = _T("-/-"); break; default: break; } } if (stDisplayCell.bpp) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤↑├┘"); } else { strOp = _T("-|↑|-"); } break; case CMTerm1View::typeOUT: strOp = _T("-[↑]"); break; default: break; } } if (stDisplayCell.bpn) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤↓├┘"); } else { strOp = _T("-|↓|-"); } break; case CMTerm1View::typeOUT: strOp = _T("-[↓]"); break; default: break; } } if (stDisplayCell.bDouble) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤├┘D"); } else { strOp = _T("-| |-D"); } break; case CMTerm1View::typeOUT: strOp = _T("-| |-D"); break; case CMTerm1View::typeSET: strOp = _T("-| |-D"); break; case CMTerm1View::typeRESET: strOp = _T("-| |-D"); break; case CMTerm1View::typeDF: strOp = _T("-| |-D"); break; case CMTerm1View::typeDF_: strOp = _T("-| |-D"); break; case CMTerm1View::typeNOT: strOp = _T("-| |-D"); break; case CMTerm1View::typeTM: strOp = _T("-| |-D"); break; default: break; } } if (stDisplayCell.bDouble1) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤├┘"); } else { strOp = _T("-| |-"); } break; case CMTerm1View::typeOUT: strOp = _T("-| |-"); break; case CMTerm1View::typeSET: strOp = _T("-| |-"); break; case CMTerm1View::typeRESET: strOp = _T("-| |-"); break; case CMTerm1View::typeDF: strOp = _T("-| |-"); break; case CMTerm1View::typeDF_: strOp = _T("-| |-"); break; case CMTerm1View::typeNOT: strOp = _T("-| |-"); break; case CMTerm1View::typeTM: strOp = _T("-| |-"); break; default: break; } } if (stDisplayCell.bFloat) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤├┘F"); } else { strOp = _T("-| |-F"); } break; case CMTerm1View::typeOUT: strOp = _T("-| |-F"); break; case CMTerm1View::typeSET: strOp = _T("-| |-F"); break; case CMTerm1View::typeRESET: strOp = _T("-| |-F"); break; case CMTerm1View::typeDF: strOp = _T("-| |-F"); break; case CMTerm1View::typeDF_: strOp = _T("-| |-F"); break; case CMTerm1View::typeNOT: strOp = _T("-| |-F"); break; case CMTerm1View::typeTM: strOp = _T("-| |-F"); break; default: break; } } if (stDisplayCell.bFloat1) { switch (stDisplayCell.OP) { case CMTerm1View::typeNO: if ((stInputCell.bLeftLineUp) && (stInputCell.brightLineUp)) { strOp = _T("└┤├┘"); } else { strOp = _T("-| |-"); } case CMTerm1View::typeOUT: strOp = _T("-| |-"); break; case CMTerm1View::typeSET: strOp = _T("-| |-"); break; case CMTerm1View::typeRESET: strOp = _T("-| |-"); break; case CMTerm1View::typeDF: strOp = _T("-| |-"); break; case CMTerm1View::typeDF_: strOp = _T("-| |-"); break; case CMTerm1View::typeNOT: strOp = _T("-| |-"); break; case CMTerm1View::typeTM: strOp = _T("-| |-"); break; default: break; } } switch (stDisplayCell.param) { case KLCoilTypeX: strParam = _T("X"); break; case KLCoilTypeY: strParam = _T("Y"); break; case KLCoilTypeR: strParam = _T("R"); break; case KLCoilTypeLR: strParam = _T("L"); break; case KLCoilTypeT: strParam = _T("T"); break; case KLCoilTypeC: strParam = _T("C"); break; case OP_TMX: if (strOp == _T("-[TM]")) strOp = ""; strParam = _T("-[TMX]"); break; case OP_TMY: if (strOp == _T("-[TM]")) strOp = ""; strParam = _T("-[TMY]"); break; case OP_TMR: if (strOp == _T("-[TM]")) strOp = ""; strParam = _T("-[TMR]"); break; case OP_TML: if (strOp == _T("-[TM]")) strOp = ""; strParam = _T("-[TML]"); break; default: strParam = " "; break; } if ((stInputCell.bcmpEq)&&(!stInputCell.bcmpLt)&&(!stInputCell.bcmpGt)) { strParam = "="; } if ((!stInputCell.bcmpEq) && (stInputCell.bcmpLt) && (!stInputCell.bcmpGt)) { strParam = "<"; } if ((!stInputCell.bcmpEq) && (!stInputCell.bcmpLt) && (stInputCell.bcmpGt)) { strParam = ">"; } if ((stInputCell.bcmpEq) && (stInputCell.bcmpLt)) { strParam = "<="; } if ((stInputCell.bcmpEq) && (stInputCell.bcmpGt)) { strParam = ">="; } if ((stInputCell.bcmpLt) && (stInputCell.bcmpGt)) { strParam = "<>"; } strNum = stDisplayCell.num; str = strOp + _T(" ") + strParam + " " + strNum; SetDlgItemText(IDC_EDIT_INPUT, str); return 0; } int CMyDlgBarInputShow::SetDisplay1(int inputInfo) { // TODO: 在此处添加实现代码. return 0; }