QuakeGod
2023-10-20 6fa60de2b0d0237054aa7571191df0f291838031
MTerm1/MyFormInputShow.cpp
@@ -7,35 +7,36 @@
#include "MainFrm.h"
static int flag = 0;
static int showPage = 0;
// CMyFormLog
structButton myButtons[6][3][11] =
{
   {{33101,_T("-|  |-"), 33102,_T("└┤├┘") ,33103,_T("|"), 33104,_T("-[OUT]") ,33105,_T("TM/CT") ,33106,_T("Fun") ,33107,_T("——") ,33108,_T("NOT/") ,33109,_T("INDEX") ,33110,_T("(MC)") ,33111,_T("(MCE)") },
   {33201,_T("-<SET>-"), 33202,_T("-<RESET>") ,33203,_T("(DF(/))"), 33204,_T("(END)") ,33205,_T("比较") ,33206,_T("PFun") ,33207,_T("↑↓") ,33208,_T("[位]") ,33209,_T("[字]") ,33210,_T("指令1") ,33211,_T("指令2") },
   {33301,_T("PG转换"), 33302,_T("在线") ,33303,_T("离线"), 33304,_T("关闭") ,33305,_T("查找") ,33306,_T("次Win") ,33307,_T("监控Go") ,33308,_T("状态") ,33309,_T("Run/Prog") ,33310,_T("PLC读取") ,33311,_T("PLC写入") } },
   {{IDC_BUTTON_AND,_T("-|  |-"), IDC_BUTTON_OR,_T("└┤├┘") ,IDC_BUTTON_VLINE,_T("|"), IDC_BUTTON_OUT,_T("-[OUT]") ,IDC_BUTTON_TMCT,_T("TM/CT") ,IDC_BUTTON_FUN,_T("Fun") ,IDC_BUTTON_HLINE,_T("——") ,IDC_BUTTON_NOT,_T("NOT/") ,IDC_BUTTON_INDEX,_T("INDEX") ,IDC_BUTTON_MC,_T("(MC)") ,IDC_BUTTON_MCE,_T("(MCE)") },
   {IDC_BUTTON_SET,_T("-<SET>-"), IDC_BUTTON_RESET,_T("-<RESET>") ,IDC_BUTTON_DF,_T("(DF(/))"), IDC_BUTTON_END,_T("(END)") ,IDC_BUTTON_COMPARE,_T("比较") ,IDC_BUTTON_PFUN,_T("PFun") ,IDC_BUTTON_UPDOWN,_T("↑↓") ,IDC_BUTTON_BIT,_T("[位]") ,IDC_BUTTON_WORD,_T("[字]") ,IDC_BUTTON_INSTRUCTION1,_T("指令1") ,IDC_BUTTON_INSTRUCTION2,_T("指令2") },
   {IDC_BUTTON_PGCONVERT,_T("PG转换"), IDC_BUTTON_ONLINE,_T("在线") ,IDC_BUTTON_OFFLINE,_T("离线"), IDC_BUTTON_COLSE,_T("关闭") ,IDC_BUTTON_FIND,_T("查找") ,IDC_BUTTON_NEXTWIN,_T("次Win") ,IDC_BUTTON_MONITOR,_T("监控Go") ,IDC_BUTTON_STATUS,_T("状态") ,IDC_BUTTON_RUNPROG,_T("Run/Prog") ,IDC_BUTTON_PLCREAD,_T("PLC读取") ,IDC_BUTTON_PLCWRITE,_T("PLC写入") } },
   {{33401,_T("X"), 33402,_T("Y") ,33403,_T("R"), 33404,_T("L") ,33405,_T("P") ,33406,_T("比较") ,33407,_T("") ,33408,_T("NOT/") ,33409,_T("INDEX") ,33410,_T("No.清除") ,33411,_T("") },
   {33501,_T("T"), 33502,_T("C") ,33503,_T("E"), 33504,_T("") ,33505,_T("") ,33506,_T("") ,33507,_T("↑↓") ,33508,_T("") ,33509,_T("") ,33510,_T("") ,33511,_T("") },
   {{IDC_BUTTON_X,_T("X"), IDC_BUTTON_Y,_T("Y") ,IDC_BUTTON_R,_T("R"), IDC_BUTTON_L,_T("L") ,IDC_BUTTON_P,_T("P") ,IDC_BUTTON_COMPARE1,_T("比较") ,33407,_T("") ,IDC_BUTTON_NOT1,_T("NOT/") ,IDC_BUTTON_INDEX,_T("INDEX") ,IDC_BUTTON_NOCLEAR,_T("No.清除") ,33411,_T("") },
   {IDC_BUTTON_T,_T("T"), 33502,_T("C") ,33503,_T("E"), 33504,_T("") ,33505,_T("") ,33506,_T("") ,IDC_BUTTON_UPDOWN1,_T("↑↓") ,33508,_T("") ,33509,_T("") ,33510,_T("") ,33511,_T("") },
   {33601,_T(""), 33602,_T("") ,33603,_T(""), 33604,_T("") ,33605,_T("") ,33606,_T("") ,33607,_T("") ,33608,_T("") ,33609,_T("") ,33610,_T("") ,33611,_T("") }},
   {{33701,_T("D"), 33702,_T("F") ,33703,_T(""), 33704,_T("") ,33705,_T("") ,33706,_T("=") ,33707,_T(">") ,33708,_T("<") ,33709,_T("") ,33710,_T("") ,33711,_T("") },
   {{IDC_BUTTON_D,_T("D"), IDC_BUTTON_F,_T("F") ,33703,_T(""), 33704,_T("") ,33705,_T("") ,IDC_BUTTON_NEQ,_T("=") ,IDC_BUTTON_GT,_T(">") ,IDC_BUTTON_LT,_T("<") ,33709,_T("") ,33710,_T("") ,33711,_T("") },
   {33801,_T(""), 33802,_T("") ,33803,_T(""), 33804,_T("") ,33805,_T("") ,33806,_T("") ,33807,_T("") ,33808,_T("") ,33809,_T("") ,33810,_T("") ,33811,_T("") },
   {33901,_T(""), 33902,_T("") ,33903,_T(""), 33904,_T("") ,33905,_T("") ,33906,_T("") ,33907,_T("") ,33908,_T("") ,33909,_T("") ,33910,_T("") ,33911,_T("") }},
   {{34101,_T("WX"), 34102,_T("WY") ,34103,_T("WR"), 34104,_T("WL") ,34105,_T("DT") ,34106,_T("LD") ,34107,_T("FL") ,34108,_T("") ,34109,_T("INDEX") ,34110,_T("No.清除") ,34111,_T("") },
   {34201,_T("SV"), 34202,_T("EV") ,34203,_T("K"), 34204,_T("H") ,34205,_T("M") ,34206,_T("f") ,34207,_T("") ,34208,_T("") ,34209,_T("") ,34210,_T("") ,34211,_T("") },
   {34301,_T("PG转换"), 34302,_T("") ,34303,_T(""), 34304,_T("") ,34305,_T("") ,34306,_T("") ,34307,_T("") ,34308,_T("") ,34309,_T("") ,34310,_T("") ,34311,_T("") }},
   {{IDC_BUTTON_WX,_T("WX"), IDC_BUTTON_WY,_T("WY") ,IDC_BUTTON_WR,_T("WR"), IDC_BUTTON_WL,_T("WL") ,IDC_BUTTON_DT,_T("DT") ,IDC_BUTTON_LD,_T("LD") ,IDC_BUTTON_FL,_T("FL") ,34108,_T("") ,IDC_BUTTON_INDEX,_T("INDEX") ,IDC_BUTTON_NOCLEAR,_T("No.清除") ,34111,_T("") },
   {IDC_BUTTON_SV,_T("SV"), IDC_BUTTON_EV,_T("EV") ,IDC_BUTTON_K,_T("K"), IDC_BUTTON_H,_T("H") ,IDC_BUTTON_M,_T("M") ,IDC_BUTTON_f,_T("f") ,34207,_T("") ,34208,_T("") ,34209,_T("") ,34210,_T("") ,34211,_T("") },
   {IDC_BUTTON_PGCONVERT,_T("PG转换"), 34302,_T("") ,34303,_T(""), 34304,_T("") ,34305,_T("") ,34306,_T("") ,34307,_T("") ,34308,_T("") ,34309,_T("") ,34310,_T("") ,34311,_T("") }},
   {{34401,_T("IX(I0)"), 34402,_T("IY(I1)") ,34403,_T("I2"), 34404,_T("I3") ,34405,_T("I4") ,34406,_T("I5") ,34407,_T("I6") ,34408,_T("I7") ,34409,_T("I8") ,34410,_T("") ,34411,_T("") },
   {34501,_T("I9"), 34502,_T("IA") ,34503,_T("IB"), 34504,_T("IC") ,34505,_T("ID") ,34506,_T("") ,34507,_T("↑↓") ,34508,_T("") ,34509,_T("") ,34510,_T("") ,34511,_T("") },
   {{IDC_BUTTON_IXI0,_T("IX(I0)"), IDC_BUTTON_IYI1,_T("IY(I1)") ,IDC_BUTTON_I2,_T("I2"), IDC_BUTTON_I3,_T("I3") ,IDC_BUTTON_I4,_T("I4") ,IDC_BUTTON_I5,_T("I5") ,IDC_BUTTON_I6,_T("I6") ,IDC_BUTTON_I7,_T("I7") ,IDC_BUTTON_I8,_T("I8") ,34410,_T("") ,34411,_T("") },
   {IDC_BUTTON_I9,_T("I9"), IDC_BUTTON_IA,_T("IA") ,IDC_BUTTON_IB,_T("IB"), IDC_BUTTON_IC,_T("IC") ,IDC_BUTTON_ID,_T("ID") ,34506,_T("") ,IDC_BUTTON_UPDOWN,_T("↑↓") ,34508,_T("") ,34509,_T("") ,34510,_T("") ,34511,_T("") },
   {34601,_T(""), 34602,_T("") ,34603,_T(""), 34604,_T("") ,34605,_T("") ,34606,_T("") ,34607,_T("") ,34608,_T("") ,34609,_T("") ,34610,_T("") ,34611,_T("") }},
   {{34701,_T("TMX"), 34702,_T("TMY") ,34703,_T("TMR"), 34704,_T("TML") ,34705,_T("") ,34706,_T("-[CT]-") ,34707,_T("") ,34708,_T("") ,34709,_T("INDEX") ,34710,_T("") ,34711,_T("") },
   {{IDC_BUTTON_TMX,_T("TMX"), IDC_BUTTON_TMY,_T("TMY") ,IDC_BUTTON_TMR,_T("TMR"), IDC_BUTTON_TML,_T("TML") ,34705,_T("") ,IDC_BUTTON_CT,_T("-[CT]-") ,34707,_T("") ,34708,_T("") ,IDC_BUTTON_INDEX,_T("INDEX") ,34710,_T("") ,34711,_T("") },
   {34801,_T(""), 34802,_T("") ,34803,_T(""), 34804,_T("") ,34805,_T("") ,34806,_T("") ,34807,_T("") ,34808,_T("") ,34809,_T("") ,34810,_T("") ,34811,_T("") },
   {34901,_T(""), 34902,_T("") ,34903,_T(""), 34904,_T("") ,34905,_T("") ,34906,_T("") ,34907,_T("") ,34908,_T("") ,34909,_T("") ,3490,_T("") ,34911,_T("") }},
};
static int myButtonCount = sizeof(myButtons[6][3][11]) / sizeof(structButton);
@@ -78,7 +79,7 @@
   ON_WM_DESTROY()
   ON_WM_SIZE()
   ON_WM_MOUSEACTIVATE()
   ON_WM_TIMER()
   ON_WM_TIMER()
   ON_BN_CLICKED(IDC_BUTTON1, &CMyFormInputShow::OnBnClickedButton1)
@@ -167,8 +168,8 @@
   ON_WM_CHAR()
   ON_COMMAND(ID_KEY_X, &CMyFormInputShow::OnKeyX)
END_MESSAGE_MAP()
// CMyFormLog 诊断
@@ -186,9 +187,7 @@
#endif
#endif //_DEBUG
// CMyFormLog 消息处理程序
BOOL CMyFormInputShow::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
@@ -196,7 +195,6 @@
   return CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
int CMyFormInputShow::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
@@ -208,14 +206,12 @@
   return 0;
}
void CMyFormInputShow::OnDestroy()
{
   CFormView::OnDestroy();
   // TODO: 在此处添加消息处理程序代码
}
void CMyFormInputShow::OnSize(UINT nType, int cx, int cy)
{
@@ -258,7 +254,6 @@
//*/
}
void CMyFormInputShow::OnInitialUpdate()
{
@@ -399,15 +394,11 @@
}
int CMyFormInputShow::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
   // TODO: 在此添加消息处理程序代码和/或调用默认值
   return CFormView::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
   
void CMyFormInputShow::OnTimer(UINT_PTR nIDEvent)
{
   // TODO: 在此添加消息处理程序代码和/或调用默认值
@@ -429,10 +420,8 @@
   CFormView::OnTimer(nIDEvent);
}
void CMyFormInputShow::OnBnClickedButton1()
{
   // TODO: 在此添加控件通知处理程序代码
   CString s1;
   s1.Format(_T("Button1 Clicked"));
   SysLog(s1);
@@ -504,7 +493,7 @@
int CMyFormInputShow::display(tagInputCell stDisplayCell)
{
   static CString strOp, strParam, strNum;
   static CString strOp, strParam , strNum;
   static CString str;
   switch (stDisplayCell.OP)
   {
@@ -812,11 +801,17 @@
   case KLCoilTypeLR:
      strParam = _T("L");
      break;
   case KLCoilTypeP:
      strParam = _T("P");
      break;
   case KLCoilTypeT:
      strParam = _T("T");
      break;
   case KLCoilTypeC:
      strParam = _T("C");
      break;
   case KLCoilTypeE:
      strParam = _T("E");
      break;
   case OP_TMX:
      if (strOp == _T("-[TM]"))
@@ -843,6 +838,7 @@
      break;
   }
   if ((m_InputCell.bcmpEq) && (!m_InputCell.bcmpLt) && (!m_InputCell.bcmpGt))
   {
      strParam = "=";
@@ -867,12 +863,18 @@
   {
      strParam = "<>";
   }
   if (strParam.Trim() == _T(""))
   {
      strParam = m_InputCell.sParamName.Trim();;
   }
   strNum = stDisplayCell.num;
   str = strOp + _T(" ") + strParam + " " + strNum;
   //设置输入框中的文本
   SetDlgItemText(IDC_EDIT_INPUT, str);
   return 0;
}
//设置输入框属性
int CMyFormInputShow::SetCurCellPos(int nRow, int nCol, CMTerm1View::stCell theCell)
{
@@ -884,7 +886,6 @@
   {
   case CMTerm1View::typeNone:
      m_InputCell.OP = CMTerm1View::typeNO;
      break;
   case CMTerm1View::typeLine1:
      m_InputCell.OP = nType;
@@ -895,7 +896,8 @@
   case CMTerm1View::typeNO:
      m_InputCell.OP = nType;
      m_InputCell.sCellName = theCell.sCoilName;
      m_InputCell.param= theCell.nDataType;
      m_InputCell.sParamName = theCell.sParam.SpanExcluding(_T("0123456789ABCDEF-."));
      m_InputCell.num.Format(_T("%d"), theCell.nDataAddr);
      break;
   case CMTerm1View::typeNC:
@@ -903,7 +905,6 @@
      break;
   case CMTerm1View::typePP:
      m_InputCell.OP = nType;
      break;
   case CMTerm1View::typePN:
      m_InputCell.OP = nType;
@@ -920,19 +921,19 @@
   case CMTerm1View::typeOUT:
      m_InputCell.OP = nType;
      m_InputCell.sCellName = theCell.sCoilName;
      m_InputCell.param = theCell.nDataType;
      m_InputCell.sParamName = theCell.sParam.SpanExcluding(_T("0123456789ABCDEF-."));
      m_InputCell.num.Format(_T("%d"), theCell.nDataAddr);
      break;
   case CMTerm1View::typeSET:
      m_InputCell.OP = nType;
      m_InputCell.sCellName = theCell.sCoilName;
      m_InputCell.param = theCell.nDataType;
      m_InputCell.sParamName = theCell.sParam.SpanExcluding(_T("0123456789ABCDEF-."));
      m_InputCell.num.Format(_T("%d"), theCell.nDataAddr);
      break;
   case CMTerm1View::typeRESET:
      m_InputCell.OP = nType;
      m_InputCell.sCellName = theCell.sCoilName;
      m_InputCell.param = theCell.nDataType;
      m_InputCell.sParamName = theCell.sParam.SpanExcluding(_T("0123456789ABCDEF-."));
      m_InputCell.num.Format(_T("%d"), theCell.nDataAddr);
      break;
   case CMTerm1View::typeCMP:
@@ -940,7 +941,7 @@
      break;
   case CMTerm1View::typeExt1:
      m_InputCell.sCellName = theCell.sParam;
      m_InputCell.param = theCell.nDataType;
      m_InputCell.sParamName = theCell.sParam.SpanExcluding(_T("0123456789ABCDEF-."));
      m_InputCell.num.Format(_T("%d"), theCell.nDataAddr);
      m_InputCell.OP = nType;
      break;
@@ -982,7 +983,8 @@
   if (p2 == NULL) return;
   CMTerm1View* p3 = (CMTerm1View*)p2;
   //   m_wndDlgBar_InputShow.SetDisplay(0x00140000);
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
   switch (m_InputCell.OP)
   {
@@ -1027,22 +1029,16 @@
      break;
   }
   cell1.sCoilName = strName + m_InputCell.num;
   cell1.nType = m_InputCell.OP;
   cell1.nProgStep = 0;
   cell1.bEditing = 1;
   cell1.sParam = strName + m_InputCell.num;;
   cell1.bLeftLineUp = 0;
   cell1.nDataType = CMTerm1View::typeCoil;
   cell1.nDataAddr = _tstoi(m_InputCell.num);
   cell1.bModified = 1;
   p3->SetCellToView(cell1);
   //   m_wndDlgBar_Func_Key.SetBtnDisplayESC();
}
@@ -1053,18 +1049,21 @@
/// </summary>
void CMyFormInputShow::OnBtnInsert()
{
   //if (m_InputCell.OP == NULL)
   //{
   //   DbgLog(_T("Error:插入失败,未选择要插入的操作"));
   //   return;
   //}
   //if (m_InputCell.num == (_T("")))
   //{
   //   DbgLog(_T("Error:插入失败,未设置编号"));
   //   return;
   //}
   if (m_InputCell.OP == NULL)
   {
      DbgLog(_T("Error:插入失败,未选择要插入的操作"));
      return;
   }
   if (m_InputCell.param == -1)
   {
      DbgLog(_T("Error:插入失败,未设置序号"));
      return;
   }
   if (m_InputCell.num == (_T("")))
   {
      DbgLog(_T("Error:插入失败,未设置编号"));
      return;
   }
   CString s1;
@@ -1142,7 +1141,8 @@
   p3->SetCellToView(focusCell, flag);
   //插入完成后,设置按钮返回第一页
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
   DbgLog(focusCell.sCoilName);
}
@@ -1153,7 +1153,6 @@
void CMyFormInputShow::OnBtnDelete()
{
   CString s1;
   CString strName;
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
@@ -1166,16 +1165,14 @@
   //
   p3->SetCellToView(focusCell);
   //插入完成后,设置按钮返回第一页
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
   DbgLog(focusCell.sCoilName);
}
void CMyFormInputShow::OnBtnEsc()
{
   // TODO: 在此添加命令处理程序代码
   //m_wndDlgBar_InputShow.SetDisplay(_T("Esc"));
   SetBtnDisplayESC(0);
   //   m_wndDlgBar_Func_Key.SetBtnDisplayESC();
}
int CMyFormInputShow::SetDisplay(int inputInfo)
@@ -1828,21 +1825,24 @@
         switch (LParam)
         {
         case 1:
            m_InputCell.param = KLCoilTypeX; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeX;
            curTaskState = 'C';
            m_InputCell.sParamName = _T("X");
            break;
         case 2:
            m_InputCell.param = KLCoilTypeY; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeY; m_InputCell.sParamName = _T("Y"); curTaskState = 'C'; break;
         case 3:
            m_InputCell.param = KLCoilTypeR; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeR; m_InputCell.sParamName = _T("R"); curTaskState = 'C'; break;
         case 4:
            m_InputCell.param = KLCoilTypeLR; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeLR; m_InputCell.sParamName = _T("L"); curTaskState = 'C'; break;
         case 5:
            strParam = _T(" P"); curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeP; m_InputCell.sParamName = _T("P"); curTaskState = 'C'; break;
         case 6:
            m_InputCell.param = KLCoilTypeT; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeT; m_InputCell.sParamName = _T("T"); curTaskState = 'C'; break;
         case 7:
            m_InputCell.param = KLCoilTypeC; curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeC; m_InputCell.sParamName = _T("C"); curTaskState = 'C'; break;
         case 8:
            strParam = _T(" E"); curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeE; m_InputCell.sParamName = _T("E"); curTaskState = 'C'; break;
         case 9:
            m_InputCell.param = OP_TMX; curTaskState = 'C'; break;
         case 0x0a:
@@ -2238,13 +2238,14 @@
         case 4:
            m_InputCell.param = KLCoilTypeLR; curTaskState = 'C'; break;
         case 5:
            strParam = _T(" P"); curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeP;
            curTaskState = 'C'; break;
         case 6:
            m_InputCell.param = KLCoilTypeT; curTaskState = 'C'; break;
         case 7:
            m_InputCell.param = KLCoilTypeC; curTaskState = 'C'; break;
         case 8:
            strParam = _T(" E"); curTaskState = 'C'; break;
            m_InputCell.param = KLCoilTypeE; curTaskState = 'C'; break;
         case 9:
            m_InputCell.param = OP_TMX; curTaskState = 'C'; break;
         case 0x0a:
@@ -3021,28 +3022,48 @@
int CMyFormInputShow::SetDisplay1(int inputInfo)
{
   // TODO: 在此处添加实现代码.
   return 0;
}
void CMyFormInputShow::OnBnClickedBtnAnd()
{
   SetDisplay(0x00010001);
   SetBtnDisplay(1);
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F1,是线圈
      SetDisplay(0x00010001);
      showPage = 1;
      SetBtnDisplay(showPage);
      break;
   case 1:
      //1页的F1,是X
      OnBnClickedBtnX();
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnOr()
{
   //   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //   p1->GetInputInfo(0x00010002);
   SetDisplay(0x00010002);
   SetBtnDisplay(1);
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F1,是线圈
      SetDisplay(0x00010002);
      showPage = 1;
      SetBtnDisplay(showPage);
      break;
   case 1:
      //1页的F1,是Y
      OnBnClickedBtnY();
      break;
   default:
      break;
   }
}
/// <summary>
@@ -3056,86 +3077,141 @@
/// </remark>
void CMyFormInputShow::OnBnClickedBtnVline()
{
   CString s1;
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F3,是竖线
   {
      CString s1;
   //先判断情况3
   if(m_InputCell.row == 0)
   {
      //发送错误信息
      DbgLog(_T("插入纵线失败:光标位置错误!第一行禁止插入竖线"));
      return;
   }
   //情况4
   if (focusCell.nType == CMTerm1View::typeExt1)
   {
      //发送错误信息
      DbgLog(_T("插入纵线失败:光标位置错误!参数位置不允许添加纵线"));
      return;
   }
   //原本是纵线格
   if (focusCell.nType == CMTerm1View::typeLine2)
   {
      flag = 2;//同步删除
      focusCell.bLeftLineUp = 0;//设置左上线为0
      focusCell.nType = CMTerm1View::typeNone;//设置为空单元格
   }
   //原本不是纵线格
   else
   {
      //不是空格,判断有无左上纵线
      if (focusCell.bLeftLineUp == 1)
      //先判断情况3
      if (m_InputCell.row == 0)
      {
         focusCell.bLeftLineUp = 0;//设置左上线为0
         flag = 2;
         //发送错误信息
         DbgLog(_T("插入纵线失败:光标位置错误!第一行禁止插入竖线"));
         return;
      }
      //情况4
      if (focusCell.nType == CMTerm1View::typeExt1)
      {
         //发送错误信息
         DbgLog(_T("插入纵线失败:光标位置错误!参数位置不允许添加纵线"));
         return;
      }
      //原本是纵线格
      if (focusCell.nType == CMTerm1View::typeLine2)
      {
         flag = 2;//同步删除
         focusCell.bLeftLineUp = 0;//设置左上线为0
         focusCell.nType = CMTerm1View::typeNone;//设置为空单元格
      }
      //原本不是纵线格
      else
      {
         focusCell.bLeftLineUp = 1;//设置左上线为0
         flag = 1;
         //不是空格,判断有无左上纵线
         if (focusCell.bLeftLineUp == 1)
         {
            focusCell.bLeftLineUp = 0;//设置左上线为0
            flag = 2;
         }
         else
         {
            focusCell.bLeftLineUp = 1;//设置左上线为0
            flag = 1;
         }
      }
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      CMDIChildWnd* pChild = (CMDIChildWnd*)p1->GetActiveFrame();
      CView* p2 = (CView*)pChild->GetActiveView();
      if (p2 == NULL)
      {
         return;
      }
      CMTerm1View* p3 = (CMTerm1View*)p2;
      //设置回显
      p3->SetCellToView(focusCell, flag);
      //插入完成后,设置按钮返回第一页
      showPage = 0;
      SetBtnDisplay(showPage);
      DbgLog(focusCell.sCoilName);
   }break;
   case 1:
      //1页的F3,是R
      OnBnClickedBtnR();
      break;
   default:
      break;
   }
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   CMDIChildWnd* pChild = (CMDIChildWnd*)p1->GetActiveFrame();
   CView* p2 = (CView*)pChild->GetActiveView();
   if (p2 == NULL)
   {
      return;
   }
   CMTerm1View* p3 = (CMTerm1View*)p2;
   //设置回显
   p3->SetCellToView(focusCell, flag);
   //插入完成后,设置按钮返回第一页
   SetBtnDisplay(0);
   DbgLog(focusCell.sCoilName);
}
void CMyFormInputShow::OnBnClickedBtnOut()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010003);
   SetDisplay(0x00010003);
   SetBtnDisplay(1);
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F4,是out
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010003);
      SetDisplay(0x00010003);
      showPage = 1;
      SetBtnDisplay(showPage);
   }break;
   case 1:
      //1页的F4,是L
      OnBnClickedBtnL();
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnTmCt()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x0001000b);
   SetDisplay(0x0001000b);
   SetBtnDisplay(5);
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F5,是tm/ct
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x0001000b);
      SetDisplay(0x0001000b);
      showPage = 5;
      SetBtnDisplay(showPage);
   }break;
   case 1:
      //1页的F5,是P
      OnBnClickedBtnP();
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnFun()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Fun "));
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F6,是Func
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      //p1->GetInputInfo(_T("Fun "));
   }break;
   case 1:
      //1页的F6,是比较
      OnBnClickedBtnCompare();
      break;
   default:
      break;
   }
}
/// <summary>
@@ -3143,92 +3219,207 @@
/// </summary>
void CMyFormInputShow::OnBnClickedBtnHLine()
{
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F1,是横线
   {
      CString s1;
      CString strName;
   CString s1;
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      CMDIChildWnd* pChild = (CMDIChildWnd*)p1->GetActiveFrame();
      CView* p2 = (CView*)pChild->GetActiveView();
      if (p2 == NULL) return;
      CMTerm1View* p3 = (CMTerm1View*)p2;
   CString strName;
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   CMDIChildWnd* pChild = (CMDIChildWnd*)p1->GetActiveFrame();
   CView* p2 = (CView*)pChild->GetActiveView();
   if (p2 == NULL) return;
   CMTerm1View* p3 = (CMTerm1View*)p2;
   focusCell.nType = 1;
   //
   p3->SetCellToView(focusCell);
   //插入完成后,设置按钮返回第一页
   SetBtnDisplay(0);
   DbgLog(focusCell.sCoilName);
      focusCell.nType = 1;
      //
      p3->SetCellToView(focusCell);
      //插入完成后,设置按钮返回第一页
      showPage = 0;
      SetBtnDisplay(showPage);
      DbgLog(focusCell.sCoilName);
   }break;
   case 1:
      //1页的F7,无操作
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnNot()                  /****************************************************************************/
void CMyFormInputShow::OnBnClickedBtnNot()
{
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F8,是not
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010013);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010013);
      SetDisplay(0x00010013);
      showPage = 1;
      SetBtnDisplay(showPage);
   }break;
   case 1:
      //1页的F8,是not
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010013);
   SetDisplay(0x00010013);
   SetBtnDisplay(1);
      SetDisplay(0x00010013);
      showPage = 1;
      SetBtnDisplay(showPage);
   }break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnIndex()
{
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F9,是Index
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      //p1->GetInputInfo(_T("Index "));
      showPage = 4;
      SetBtnDisplay(showPage);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Index "));
   SetBtnDisplay(4);
   }break;
   case 1:
      //1页的F9,是Index
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      //p1->GetInputInfo(_T("Index "));
      showPage = 4;
      SetBtnDisplay(showPage);
   }break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnMc()
{
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F11,是MC
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010004);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010004);
      SetDisplay(0x00010004);
   }break;
   case 1:
      //1页的F11,是No.清除(33409,还没定义!
   SetDisplay(0x00010004);
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnMce()
{
   //判断按钮在第几页,触发不同的操作
   switch (showPage)
   {
   case 0:
      //0页的F12,是MCE
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010005);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010005);
   SetDisplay(0x00010005);
      SetDisplay(0x00010005);
   }break;
   case 1:
      //1页的F12,无操作
      break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnSet()
{
   switch (showPage)
   {
      case 0:
      {
         CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
         p1->GetInputInfo(0x00010006);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010006);
   SetDisplay(0x00010006);
   SetBtnDisplay(1);
         SetDisplay(0x00010006);
         showPage = 1;
         SetBtnDisplay(showPage);
      }
      break;
      case 1:
      {
         OnBnClickedBtnT();
      }
      break;
      default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnReset()
{
   switch (showPage)
   {
   case 0:
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010007);
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010007);
   SetDisplay(0x00010007);
   SetBtnDisplay(1);
      SetDisplay(0x00010007);
      showPage = 1;
      SetBtnDisplay(showPage);
   }
   break;
   case 1:
   {
      OnBnClickedBtnC();
   }
   break;
   default:
      break;
   }
}
void CMyFormInputShow::OnBnClickedBtnDf()
{
   switch (showPage)
   {
   case 0:
   {
      CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
      p1->GetInputInfo(0x00010008);
      SetDisplay(0x00010008);
      //p1->GetInputInfo(_T("(DF)"));
   }
   break;
   case 1:
   {
      OnBnClickedBtnE();
   }
   break;
   default:
      break;
   }
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010008);
   SetDisplay(0x00010008);
   //p1->GetInputInfo(_T("(DF)"));
}
void CMyFormInputShow::OnBnClickedBtnEnd()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x0001000A);
@@ -3236,50 +3427,46 @@
}
void CMyFormInputShow::OnBnClickedBtnCompare()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Compare"));
   SetBtnDisplay(2);
   showPage = 2;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnPFun()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("PFun"));
}
void CMyFormInputShow::OnBnClickedBtnUpDown()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00010010);
   SetDisplay(0x00010010);
   SetBtnDisplay(1);
   showPage = 1;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnBit()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Bit"));
   SetBtnDisplay(1);
   showPage = 1;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnWord()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Word"));
   SetBtnDisplay(3);
   showPage = 3;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnInc1()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Inc1"));
}
void CMyFormInputShow::OnBnClickedBtnInc2()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Inc2"));
}
@@ -3287,67 +3474,56 @@
void CMyFormInputShow::OnBnClickedBtnPgConvert()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("PgConvert"));
}
void CMyFormInputShow::OnBnClickedBtnOnline()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Online"));
}
void CMyFormInputShow::OnBnClickedBtnOffline()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Offline"));
}
void CMyFormInputShow::OnBnClickedBtnClose()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Close"));
}
void CMyFormInputShow::OnBnClickedBtnFind()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Find"));
}
void CMyFormInputShow::OnBnClickedBtnNextWin()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("NextWin"));
}
void CMyFormInputShow::OnBnClickedBtnMonitor()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Monitor"));
}
void CMyFormInputShow::OnBnClickedBtnStatus()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("Status"));
}
void CMyFormInputShow::OnBnClickedBtnRunProg()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("RunProg"));
}
void CMyFormInputShow::OnBnClickedBtnPlcRead()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("PlcRead"));
}
void CMyFormInputShow::OnBnClickedBtnPlcWrite()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   //p1->GetInputInfo(_T("PlcWrite"));
}
@@ -3355,15 +3531,12 @@
void CMyFormInputShow::OnBnClickedBtnX()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020001);
   SetDisplay(0x00020001);
}
void CMyFormInputShow::OnBnClickedBtnY()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020002);
@@ -3371,7 +3544,6 @@
}
void CMyFormInputShow::OnBnClickedBtnR()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020003);
@@ -3379,7 +3551,6 @@
}
void CMyFormInputShow::OnBnClickedBtnL()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020004);
@@ -3387,7 +3558,6 @@
}
void CMyFormInputShow::OnBnClickedBtnP()
{
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020005);
@@ -3396,7 +3566,8 @@
void CMyFormInputShow::OnBnClickedBtnCompare1()
{
   SetBtnDisplay(2);
   showPage = 2;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnT()
{
@@ -3430,7 +3601,8 @@
   p1->GetInputInfo(0x00020009);
   SetDisplay(0x00020009);
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnTmy()
{
@@ -3438,7 +3610,8 @@
   p1->GetInputInfo(0x0002000A);
   SetDisplay(0x0002000A);
   SetBtnDisplay(1);
   showPage = 1;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnTmr()
{
@@ -3446,7 +3619,8 @@
   p1->GetInputInfo(0x0002000B);
   SetDisplay(0x0002000B);
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnTml()
{
@@ -3454,7 +3628,8 @@
   p1->GetInputInfo(0x0002000C);
   SetDisplay(0x0002000C);
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
}
void CMyFormInputShow::OnBnClickedBtnCt()
{
@@ -3462,8 +3637,8 @@
   p1->GetInputInfo(0x0002000D);
   SetDisplay(0x0002000D);
   SetBtnDisplay(0);
   showPage = 0;
   SetBtnDisplay(showPage);
}
@@ -3607,3 +3782,13 @@
   if (nChar == 13) { OnBtnRet(); }
   CFormView::OnChar(nChar, nRepCnt, nFlags);
}
void CMyFormInputShow::OnKeyX()
{
   // TODO: 在此添加命令处理程序代码
   CMainFrame* p1 = (CMainFrame*)AfxGetMainWnd();
   p1->GetInputInfo(0x00020001);
   SetDisplay(0x00020001);
}