QuakeGod
2023-10-20 6fa60de2b0d0237054aa7571191df0f291838031
MTerm1/MyDlgBarInputShow.cpp
@@ -1872,7 +1872,7 @@
      if (editEndFlag)
      {
         CMainFrame * p1 = (CMainFrame *)AfxGetMainWnd();
         p1->GetInputCell(stInputCell);
//         p1->GetInputCell(stInputCell);
      }
      else
      {
@@ -2285,951 +2285,7 @@
int CMyDlgBarInputShow::SetDisplay1(int inputInfo)
{
   // TODO: 在此处添加实现代码.
/*
   static int clickCounter = 0;
   static int clickCounterDF = 0;
   static int clickCounterNot = 0;
   static char curTaskState = 'A';
   static int lastLParam = 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;
      }
   }
   HParam = inputInfo >> 16;
   LParam = inputInfo & 0xffff;
   switch (curTaskState)
   {
   case 'A':
      if (HParam == 0x1)                      //operator 1
      {
         switch (LParam)
         {
         case 1:
            strOp = _T("-| |-"); strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 2:
            strOp = _T("└┤├┘");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 3:
            strOp = _T("-[ ]");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            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 6:
            strOp = _T("-<S>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 7:
            strOp = _T("-<R>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 8:
            strOp = _T("(DF)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 9:
            strOp = _T("(DF/)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 0x0a:
            strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break;
         case 0x0b:
            strOp = _T("-[TMX]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0c:
            strOp = _T("-[TMY]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0d:
            strOp = _T("-[TMR]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0e:
            strOp = _T("-[TML]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0f:
            strOp = _T("-[CT]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x10:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↑|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↑├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↑]"); strParam = "";curTaskState = 'B';break;
            default:
               break;
            }
            break;
         case 0x11:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↓|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↓├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↓]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x12:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[ ]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x13:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|/|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤/├┘");strParam = "";curTaskState = 'B'; break;
            case 8:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         case 0x14:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘"); strParam = "";curTaskState = 'B';break;
            case 8:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         default:
            break;
         }
      }
      str = strOp;
      break;
   case 'B':
      str = strOp;
      if (HParam == 0x1)                      //operator 1
      {
         switch (LParam)
         {
         case 1:
            strOp = _T("-| |-"); strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 2:
            strOp = _T("└┤├┘");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 3:
            strOp = _T("-[ ]");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            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 6:
            strOp = _T("-<S>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 7:
            strOp = _T("-<R>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 8:
            strOp = _T("(DF)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 9:
            strOp = _T("(DF/)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 0x0a:
            strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break;
         case 0x0b:
            strOp = _T("-[TMX]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0c:
            strOp = _T("-[TMY]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0d:
            strOp = _T("-[TMR]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0e:
            strOp = _T("-[TML]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0f:
            strOp = _T("-[CT]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x10:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↑|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↑├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↑]"); strParam = "";curTaskState = 'B';break;
            default:
               break;
            }
            break;
         case 0x11:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↓|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↓├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↓]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x12:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[ ]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x13:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|/|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤/├┘");strParam = "";curTaskState = 'B'; break;
            case 8:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         case 0x14:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘"); strParam = "";curTaskState = 'B';break;
            case 8:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         default:
            break;
         }
      }
      else if (HParam == 0x2)
      {
         switch (LParam)
         {
         case 1:
            strParam =_T(" X");curTaskState = 'C'; break;
         case 2:
            strParam = _T(" Y");curTaskState = 'C'; break;
         case 3:
            strParam = _T(" R");curTaskState = 'C'; break;
         case 4:
            strParam = _T(" L"); curTaskState = 'C';break;
         case 5:
            strParam = _T(" P");curTaskState = 'C'; break;
         case 6:
            strParam = _T(" T"); curTaskState = 'C';break;
         case 7:
            strParam = _T(" C");curTaskState = 'C'; break;
         case 8:
            strParam = _T(" E");curTaskState = 'C'; break;
         default:
            break;
         }
      }
      str = strOp + _T(" ") + strParam;
      break;
   case 'C':
   //   str = strOp + _T(" ") + strParam;
      if (HParam == 0x1)                      //operator 1
      {
         switch (LParam)
         {
         case 1:
            strOp = _T("-| |-"); strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 2:
            strOp = _T("└┤├┘");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 3:
            strOp = _T("-[ ]");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            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 6:
            strOp = _T("-<S>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 7:
            strOp = _T("-<R>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 8:
            strOp = _T("(DF)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 9:
            strOp = _T("(DF/)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 0x0a:
            strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break;
         case 0x0b:
            strOp = _T("-[TMX]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0c:
            strOp = _T("-[TMY]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0d:
            strOp = _T("-[TMR]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0e:
            strOp = _T("-[TML]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0f:
            strOp = _T("-[CT]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x10:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↑|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↑├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↑]"); strParam = "";curTaskState = 'B';break;
            default:
               break;
            }
            break;
         case 0x11:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↓|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↓├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↓]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x12:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[ ]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x13:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|/|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤/├┘");strParam = "";curTaskState = 'B'; break;
            case 8:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         case 0x14:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘"); strParam = "";curTaskState = 'B';break;
            case 8:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         default:
            break;
         }
      }
      else if (HParam == 0x2)
      {
         switch (LParam)
         {
         case 1:
            strParam = _T(" X");curTaskState = 'C'; break;
         case 2:
            strParam = _T(" Y");curTaskState = 'C'; break;
         case 3:
            strParam = _T(" R");curTaskState = 'C'; break;
         case 4:
            strParam = _T(" L"); curTaskState = 'C';break;
         case 5:
            strParam = _T(" P");curTaskState = 'C'; break;
         case 6:
            strParam = _T(" T"); curTaskState = 'C';break;
         case 7:
            strParam = _T(" C");curTaskState = 'C'; break;
         case 8:
            strParam = _T(" E");curTaskState = 'C'; 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:
            strNumTemp = _T("A");curTaskState = 'D'; break;
         case 0x0B:
            strNumTemp = _T("B");curTaskState = 'D'; break;
         case 0x0C:
            strNumTemp = _T("C"); curTaskState = 'D';break;
         case 0x0D:
            strNumTemp = _T("D");curTaskState = 'D'; break;
         case 0x0E:
            strNumTemp = _T("E");curTaskState = 'D'; break;
         case 0x0F:
            strNumTemp = _T("F");curTaskState = 'D'; break;
         default:
            break;
         }
         if (strNum.GetLength() < 4)
         {
            strNum.Append(strNumTemp);
         }
         else
         {
            strNum = strNum.Right(strNum.GetLength() - 1);
            strNum.Append(strNumTemp);
         }
      }
      str = strOp + _T(" ") + strParam+ " " + strNum;
      break;
   case 'D':
      if (HParam == 0x1)                      //operator 1
      {
         switch (LParam)
         {
         case 1:
            strOp = _T("-| |-"); strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 2:
            strOp = _T("└┤├┘");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'B';
            break;
         case 3:
            strOp = _T("-[ ]");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounter = 0;
               clickCounterNot = 0;
            }
            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 6:
            strOp = _T("-<S>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 7:
            strOp = _T("-<R>");strParam = "";lastLParam = LParam;curTaskState = 'B'; break;
         case 8:
            strOp = _T("(DF)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 9:
            strOp = _T("(DF/)");strParam = "";
            if (lastLParam != LParam)
            {
               clickCounterNot = 0;
            }
            lastLParam = LParam;
            curTaskState = 'A';
            break;
         case 0x0a:
            strOp = _T("(ED)");strParam = "";lastLParam = LParam;curTaskState = 'A'; break;
         case 0x0b:
            strOp = _T("-[TMX]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0c:
            strOp = _T("-[TMY]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0d:
            strOp = _T("-[TMR]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0e:
            strOp = _T("-[TML]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x0f:
            strOp = _T("-[CT]-"); strParam = "";lastLParam = LParam;curTaskState = 'C'; break;
         case 0x10:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↑|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↑├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↑]"); strParam = "";curTaskState = 'B';break;
            default:
               break;
            }
            break;
         case 0x11:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|↓|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤↓├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[↓]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x12:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘");strParam = "";curTaskState = 'B'; break;
            case 3:
               strOp = _T("-[ ]");strParam = "";curTaskState = 'B'; break;
            default:
               break;
            }
            break;
         case 0x13:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-|/|-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤/├┘");strParam = "";curTaskState = 'B'; break;
            case 8:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         case 0x14:
            switch (lastLParam)
            {
            case 1:
               strOp = _T("-| |-");strParam = "";curTaskState = 'B'; break;
            case 2:
               strOp = _T("└┤├┘"); strParam = "";curTaskState = 'B';break;
            case 8:
               strOp = _T("(DF)");strParam = "";curTaskState = 'A'; break;
            case 9:
               strOp = _T("(DF/)");strParam = "";curTaskState = 'A'; break;
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 0xa:
            case 0xb:
            case 0xc:
            case 0xd:
            case 0xe:
            case 0xf:
               strOp = _T("- / -");strParam = "";curTaskState = 'A';break;
            default:
               break;
            }
            break;
         default:
            break;
         }
         strNum.Empty();
      }
      else if (HParam == 0x2)
      {
         switch (LParam)
         {
         case 1:
            strParam = _T(" X");curTaskState = 'C'; break;
         case 2:
            strParam = _T(" Y");curTaskState = 'C'; break;
         case 3:
            strParam = _T(" R");curTaskState = 'C'; break;
         case 4:
            strParam = _T(" L"); curTaskState = 'C';break;
         case 5:
            strParam = _T(" P");curTaskState = 'C'; break;
         case 6:
            strParam = _T(" T"); curTaskState = 'C';break;
         case 7:
            strParam = _T(" C");curTaskState = 'C'; break;
         case 8:
            strParam = _T(" E");curTaskState = 'C'; break;
         default:
            break;
         }
         strNum.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:
            strNumTemp = _T("A");curTaskState = 'D'; break;
         case 0x0B:
            strNumTemp = _T("B");curTaskState = 'D'; break;
         case 0x0C:
            strNumTemp = _T("C"); curTaskState = 'D';break;
         case 0x0D:
            strNumTemp = _T("D");curTaskState = 'D'; break;
         case 0x0E:
            strNumTemp = _T("E");curTaskState = 'D'; break;
         case 0x0F:
            strNumTemp = _T("F");curTaskState = 'D'; break;
         default:
            break;
         }
         if (strNum.GetLength() < 4)
         {
            strNum.Append(strNumTemp);
         }
         else
         {
            strNum = strNum.Right(strNum.GetLength() - 1);
            strNum.Append(strNumTemp);
         }
      }
      else if (HParam == 0x14)
      {
         strParam = "";
         strNum = "";
         curTaskState = 'A';
         strNum.Empty();
      }
      str = strOp + _T(" ") + strParam + " " + strNum;
      break;
   }
   SetDlgItemText(IDC_EDIT_INPUT,str);
//   m_edit_input.SetWindowText(str); */
   return 0;
}