📄 tec2000view.cpp
字号:
// TEC2000View.cpp : implementation of the CTEC2000View class
//
#include "stdafx.h"
#include "TEC2000.h"
#include "TEC2000Doc.h"
#include "TEC2000View.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTEC2000View
IMPLEMENT_DYNCREATE(CTEC2000View, CView)
BEGIN_MESSAGE_MAP(CTEC2000View, CView)
//{{AFX_MSG_MAP(CTEC2000View)
ON_COMMAND(ID_MODE_COMPILE, OnModeCompile)
ON_COMMAND(ID_MODE_MICRO, OnModeMicro)
ON_UPDATE_COMMAND_UI(ID_MODE_COMPILE, OnUpdateModeCompile)
ON_UPDATE_COMMAND_UI(ID_MODE_MICRO, OnUpdateModeMicro)
ON_COMMAND(ID_MODE_OFFSIMU, OnModeOffsimu)
ON_UPDATE_COMMAND_UI(ID_MODE_OFFSIMU, OnUpdateModeOffsimu)
ON_COMMAND(ID_MODE_CROS, OnModeCros)
ON_UPDATE_COMMAND_UI(ID_MODE_CROS, OnUpdateModeCros)
ON_COMMAND(ID_MODE_UNASM, OnModeUnasm)
ON_UPDATE_COMMAND_UI(ID_MODE_UNASM, OnUpdateModeUnasm)
ON_COMMAND(ID_LOADCOD, OnLoadcod)
ON_COMMAND(ID_RUN, OnRun)
ON_COMMAND(ID_DWRUN, OnDwrun)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTEC2000View construction/destruction
CTEC2000View::CTEC2000View()
{
this->m_pMicroProDlg.status=0;
this->m_pOffSimuDlg.status=0;
this->m_pCrosAsmDlg.status=0;
this->m_pUnAsmDlg.status=0;
// TODO: add construction code here
}
CTEC2000View::~CTEC2000View()
{
}
BOOL CTEC2000View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CTEC2000View drawing
void CTEC2000View::OnDraw(CDC* pDC)
{
CTEC2000Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CTEC2000View diagnostics
#ifdef _DEBUG
void CTEC2000View::AssertValid() const
{
CView::AssertValid();
}
void CTEC2000View::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CTEC2000Doc* CTEC2000View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTEC2000Doc)));
return (CTEC2000Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTEC2000View message handlers
void CTEC2000View::OnModeCompile()
{
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
else{
this->m_pCompileDlg.ShowWindow(SW_SHOW);
this->m_pCompileDlg.status=1;
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
// TODO: Add your command handler code here
}
BOOL CTEC2000View::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
// TODO: Add your specialized code here and/or call the base class
this->m_pUnAsmDlg.Create(IDD_UNASM,this);
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
this->m_pCompileDlg.Create(IDD_COMPILE,this);
this->m_pCompileDlg.ShowWindow(SW_SHOW);
this->m_pCompileDlg.status=1;
CTEC2000App *pApp;
pApp=(CTEC2000App *)AfxGetApp();
CMainFrame *pFrm;
pFrm=(CMainFrame *)pApp->GetMainWnd();
pFrm->m_pMCompileDlg=&(this->m_pCompileDlg);
return TRUE;
}
void CTEC2000View::OnModeMicro()
{
if(this->m_pMicroProDlg.status==0){
this->m_pMicroProDlg.Create(IDD_MICROPRODLG,this);
this->m_pMicroProDlg.ShowWindow(SW_SHOW);
this->m_pMicroProDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else if(this->m_pMicroProDlg.status==2){
this->m_pMicroProDlg.ShowWindow(SW_SHOW);
this->m_pMicroProDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else{
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
}
void CTEC2000View::OnUpdateModeCompile(CCmdUI* pCmdUI)
{
if(this->m_pCompileDlg.status==1){
pCmdUI->SetCheck(TRUE);
}
else if(this->m_pCompileDlg.status==2){
pCmdUI->SetCheck(FALSE);
}
}
void CTEC2000View::OnUpdateModeMicro(CCmdUI* pCmdUI)
{
if(this->m_pMicroProDlg.status==1)
pCmdUI->SetCheck(TRUE);
else if(this->m_pMicroProDlg.status==2)
pCmdUI->SetCheck(FALSE);
}
void CTEC2000View::OnModeOffsimu()
{
if(this->m_pOffSimuDlg.status==0){
this->m_pOffSimuDlg.Create(IDD_OFFSIMU,this);
this->m_pOffSimuDlg.ShowWindow(SW_SHOW);
this->m_pOffSimuDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else if(this->m_pOffSimuDlg.status==2){
this->m_pOffSimuDlg.ShowWindow(SW_SHOW);
this->m_pOffSimuDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else{
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
}
void CTEC2000View::OnUpdateModeOffsimu(CCmdUI* pCmdUI)
{
if(this->m_pOffSimuDlg.status==1){
pCmdUI->SetCheck(TRUE);
}
else if(this->m_pOffSimuDlg.status==2){
pCmdUI->SetCheck(FALSE);
}
}
void CTEC2000View::OnModeCros()
{
if(this->m_pCrosAsmDlg.status==0){
this->m_pCrosAsmDlg.Create(IDD_CROSASM,this);
this->m_pCrosAsmDlg.ShowWindow(SW_SHOW);
this->m_pCrosAsmDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else if(this->m_pCrosAsmDlg.status==2){
this->m_pCrosAsmDlg.ShowWindow(SW_SHOW);
this->m_pCrosAsmDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pUnAsmDlg.status==1){
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
else{
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
}
void CTEC2000View::OnUpdateModeCros(CCmdUI* pCmdUI)
{
if(this->m_pCrosAsmDlg.status==1){
pCmdUI->SetCheck(TRUE);
}
else if(this->m_pCrosAsmDlg.status==2){
pCmdUI->SetCheck(FALSE);
}
}
void CTEC2000View::OnModeUnasm()
{
if(this->m_pUnAsmDlg.status==0){
this->m_pUnAsmDlg.Create(IDD_UNASM,this);
this->m_pUnAsmDlg.ShowWindow(SW_SHOW);
this->m_pUnAsmDlg.status=1;
CTEC2000App *pApp;
pApp=(CTEC2000App *)AfxGetApp();
CMainFrame *pFrm;
pFrm=(CMainFrame *)pApp->GetMainWnd();
pFrm->m_pUnAsmDlg=&(this->m_pUnAsmDlg);
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
}
else if(this->m_pUnAsmDlg.status==2){
this->m_pUnAsmDlg.ShowWindow(SW_SHOW);
this->m_pUnAsmDlg.status=1;
if(this->m_pCompileDlg.status==1){
this->m_pCompileDlg.ShowWindow(SW_HIDE);
this->m_pCompileDlg.status=2;
}
if(this->m_pMicroProDlg.status==1){
this->m_pMicroProDlg.ShowWindow(SW_HIDE);
this->m_pMicroProDlg.status=2;
}
if(this->m_pOffSimuDlg.status==1){
this->m_pOffSimuDlg.ShowWindow(SW_HIDE);
this->m_pOffSimuDlg.status=2;
}
if(this->m_pCrosAsmDlg.status==1){
this->m_pCrosAsmDlg.ShowWindow(SW_HIDE);
this->m_pCrosAsmDlg.status=2;
}
}
else{
this->m_pUnAsmDlg.ShowWindow(SW_HIDE);
this->m_pUnAsmDlg.status=2;
}
}
void CTEC2000View::OnUpdateModeUnasm(CCmdUI* pCmdUI)
{
if(this->m_pUnAsmDlg.status==1){
pCmdUI->SetCheck(TRUE);
}
else if(this->m_pUnAsmDlg.status==2){
pCmdUI->SetCheck(FALSE);
}
}
void CTEC2000View::OnLoadcod()
{
m_pUnAsmDlg.Loadcod();
}
void CTEC2000View::OnRun()
{
m_pUnAsmDlg.Run();
}
void CTEC2000View::OnDwrun()
{
m_pUnAsmDlg.Dwrun();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -