QuakeGod
2022-07-22 fc8a81d80e32cdafdae319cf439145db6613c793
MTerm2/MTerm2View.h
@@ -4,7 +4,10 @@
#pragma once
#include <memory>
#include <vector>
#include "MTerm2Doc.h"
class CMTerm2View : public CScrollView
{
protected: // 仅从序列化创建
@@ -13,7 +16,7 @@
// 特性
public:
   CMFCStatusBar * m_pStatusBar;
   CStatusBar * m_pStatusBar;
   CMTerm2Doc* GetDocument() const;
   //从文档获取程序
@@ -63,9 +66,11 @@
      int nProgStep;
      int bFocused = 0;
      int bSelected = 0;
      int bEditing = 0;
      int bModified = 0;
      int bErrFocus = 0;
      int bLeftLineUp = 0;
      int bLeftLineDn = 0;
      int nStat = 0;
@@ -83,6 +88,32 @@
      }
   };
   stCell Cells[2000][16] = { 0 };
   struct stProgSection
   {
      std::vector <CMTerm2Doc::stProg> Progs;
      int Append(CMTerm2Doc::stProg prog)   {
         Progs.push_back(prog);
         return 0;
      };
      int Append(struct stProgSection progsec){
         int n=(int)progsec.Progs.size();
         for (int i = 0; i < n; i++) {
            Progs.push_back(progsec.Progs[i]);
         }
         return 0;
      };
      int operator+=(const struct stProgSection progsec) {
         Append(progsec);
         return 0;
      };
      int Insert(CMTerm2Doc::stProg prog)   {
         Progs.insert(Progs.begin(), prog);
         return 0;
      }
   };
   int m_nTotalRow=0;
   bool m_bMonitoring = false;      //监控中
   bool m_bShowComments = true;   //显示注释
@@ -171,6 +202,11 @@
   int DoReDraw();
   int DrawLDSGraph(CDC* pDC);
   int ScrollToCell(int nRow, int nCol);
   int ScrollCellIntoView(int nRow, int nCol);
   int isCellInView(int nRow, int nCol);
// 重写
public:
   virtual void OnDraw(CDC* pDC);  // 重写以绘制该视图
@@ -244,7 +280,7 @@
   int TransLDSToProg();
   afx_msg void OnInputIoComment();
   afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
   int ScanLDSCells(int nStartLine, int nEndLine, int nPosY, int nPosX, int nLevel, CString & sProgSec, int &nSteps);
   int ScanLDSCells(int nStartLine, int nEndLine, int nPosY, int nPosX, int nLevel, stProgSection & progsec, CString & sProgSec, int &nSteps);
};
#ifndef _DEBUG  // MultiTerminal2View.cpp 中的调试版本