⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wndmanager.cpp

📁 一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器
💻 CPP
字号:
// WndManager.cpp: implementation of the WndManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MDIDemo.h"
#include "WndManager.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
unsigned int WndManager::UI_ID=37000;

WndManager::WndManager()
{
	pdevicepan=NULL;
}

WndManager::~WndManager()
{

}

int WndManager::WndCommand(UINT uid)
{
	switch(uid)
	{
	case IDC_Child_View1:
		CreateDeviceWnd();
		break;
	case IDC_Child_View2:
		CreateAbout();
		break;
	case IDC_Child_View3:
		break;
	case IDC_Child_View4:
		break;
	case IDC_Child_View5:
		break;
	case IDC_Child_View6:
		break;
	case IDC_Child_View7:
		break;
	case IDC_Child_View8:
		CreateCPUControl();
		break;
	case IDC_Child_View9:
		CreateSerialWnd();
		break;
	default :
		break;
	}
//	CString str;
//	str.Format("命令号码%d",uid-IDC_Child_View1+1);
	//AfxMessageBox(str);
	//pview->SetWindowText("dsfjdsfdshgiudvhsnfdvhsinfdsi");//str.GetBuffer(str.GetLength())
//	CWnd * pwnd=pview->GetDlgItem(IDC_mySTATIC);
//	pwnd->SetWindowText(str.GetBuffer(str.GetLength()));
	//CDC * pdc=pview->GetDC();
	//pdc->TextOut(0,0,"MyDefaultView::OnWzdCommandRange");
	return 1;
}

int WndManager::init()
{
	RBDOWN->CreatePopupMenu();
	RBDOWN->AppendMenu(0,IDC_Child_View1,"创建设备面板");
	/*
	RBDOWN->AppendMenu(0,IDC_Child_View3,"command&3");
	RBDOWN->AppendMenu(0,IDC_Child_View4,"command&4");
	RBDOWN->AppendMenu(0,IDC_Child_View5,"command&5");
	RBDOWN->AppendMenu(0,IDC_Child_View6,"command&6");
	RBDOWN->AppendMenu(0,IDC_Child_View7,"command&7");*/
	RBDOWN->AppendMenu(0,IDC_Child_View8,"CPU控制面板");
	RBDOWN->AppendMenu(0,IDC_Child_View9,"串口数据浏览窗口");
	RBDOWN->AppendMenu(0,IDC_Child_View2,"关于本软件");
	pdevicepan=NULL;
	return 1;
}

int WndManager::SetpView(UINT p)
{
	pview=(CWnd *)p;
	return 1;
}

int WndManager::CreateSerialWnd()
{
	//AfxMessageBox("sdfsd");
	MySerialRichEdit *pedit=new MySerialRichEdit;
	RECT Rect;
	Rect.left=10;
	Rect.top=20;
	Rect.bottom=371;
	Rect.right=344;
	WndSizeCfg dlg;
	dlg.DoModal();
	if(!dlg.iscreate)
	{
		return 0;
	}
	Rect.bottom=Rect.top+dlg.m_high;
	Rect.right=Rect.left+dlg.m_width;
	//pview->GetWindowRect(&Rect);
	if(!pedit->Create(ES_MULTILINE | 
                    ES_AUTOVSCROLL  | ES_NUMBER | WS_BORDER | 
                    WS_VSCROLL | WS_TABSTOP,Rect,pview,UI_ID))//| ES_READONLY
	{
		AfxMessageBox("创建失败");
	}
	pedit->high=dlg.m_high;
	pedit->width=dlg.m_width;
	UI_ID++;
	//pedit->SetOptions(ECOOP_OR,ECO_AUTOHSCROLL|ECO_READONLY);
	pedit->ShowWindow(SW_SHOW);
	//pedit->StreamIn()
	return 1;

}

int WndManager::CreateCPUControl()
{
	CPUControlPan *ppan=new CPUControlPan;
	//ppan->Create("CPU控制器",pview);
	//ppan->Create(
	ppan->Create(IDD_DIALOG4,pview);
	ppan->ShowWindow(SW_SHOW);
//	ppan->GetStyle()
	return 1;
}

int WndManager::CreateDeviceWnd()
{
	pdevicepan=new CreateDevicedlg;
	pdevicepan->Create(IDD_DIALOG5,pview);
	pdevicepan->ShowWindow(SW_SHOW);
	return 1;
}

int WndManager::CreateRegRAMWatch(GlobalVar * pcpu)
{
	CPUWorker * ppan=new CPUWorker;
	ppan->pcpu=pcpu;
	ppan->Create(IDD_DIALOG7,pview);
	ppan->ShowWindow(SW_SHOW);
	return 1;
}

int WndManager::CreateAbout()
{
	CMyAboutDlg *pAbout=new CMyAboutDlg;
	pAbout->Create(IDD_DIALOG8,pview);
	pAbout->ShowWindow(SW_SHOW);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -