// PageEquipment.cpp : ʵÏÖÎļþ // #include "stdafx.h" #include "GangBond2860Emulator.h" #include "PageEquipment.h" #include "afxdialogex.h" // CPageEquipment ¶Ô»°¿ò IMPLEMENT_DYNAMIC(CPageEquipment, CDialogEx) CPageEquipment::CPageEquipment(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_PAGE_EQUIPMENT, pParent) { } CPageEquipment::~CPageEquipment() { } void CPageEquipment::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CPageEquipment, CDialogEx) ON_BN_CLICKED(IDC_BUTTON_RUN, &CPageEquipment::OnBnClickedButtonRun) END_MESSAGE_MAP() // CPageEquipment ÏûÏ¢´¦Àí³ÌÐò BOOL CPageEquipment::OnInitDialog() { CDialogEx::OnInitDialog(); SetDlgItemText(IDC_EDIT_EQUIPMENT_NAME, _T("GangBond2860")); SetDlgItemText(IDC_EDIT_VERSION, theApp.m_strVersionName); SetDlgItemInt(IDC_EDIT_PORT, 8192); return TRUE; // return TRUE unless you set the focus to a control // Òì³£: OCX ÊôÐÔÒ³Ó¦·µ»Ø FALSE } void CPageEquipment::OnBnClickedButtonRun() { CString strEquipmentName; GetDlgItemText(IDC_EDIT_EQUIPMENT_NAME, strEquipmentName); if (strEquipmentName.IsEmpty()) { AfxMessageBox(_T("»úÆ÷Ãû²»ÄÜΪ¿Õ")); GetDlgItem(IDC_EDIT_EQUIPMENT_NAME)->SetFocus(); return; } int port; port = GetDlgItemInt(IDC_EDIT_PORT); if (port <= 0) { AfxMessageBox(_T("ÇëÊäÈë´óÓÚ0µÄ¶Ë¿ÚºÅ")); GetDlgItem(IDC_EDIT_PORT)->SetFocus(); return; } BEQ::IEquipment* pEuqipment; pEuqipment = theApp.m_model.createEquipment((LPTSTR)(LPCTSTR)strEquipmentName); if (pEuqipment != nullptr) { pEuqipment->setVersion((LPTSTR)(LPCTSTR)theApp.m_strVersionName); BEQ::IUnit* pUnitA = pEuqipment->addUnit("UNITA", 5); if (pUnitA != nullptr) { pUnitA->addRecipe(1, "RECIPE1", false); pUnitA->addRecipe(2, "RECIPE2", false); pUnitA->addRecipe(3, "RECIPE3", true); } BEQ::IUnit* pUnitB = pEuqipment->addUnit("UNITB", 5); if (pUnitB != nullptr) { pUnitB->addRecipe(1, "RECIPE1", false); pUnitB->addRecipe(2, "RECIPE2", false); pUnitB->addRecipe(3, "RECIPE3", true); } pEuqipment->runOnServerMode(port); GetDlgItem(IDC_EDIT_EQUIPMENT_NAME)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT_PORT)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_RUN)->EnableWindow(FALSE); } else { AfxMessageBox("´´½¨É豸ʧ°Ü"); } }