mrDarker
2025-05-06 cacea2da59a3acd73f3161d819a10e0060762616
SourceCode/Bond/Servo/CPageCassetteCtrlCmd.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
// CPageCassetteCtrlCmd.cpp: å®žçŽ°æ–‡ä»¶
//
#include "stdafx.h"
#include "Servo.h"
#include "CPageCassetteCtrlCmd.h"
#include "afxdialogex.h"
// CPageCassetteCtrlCmd å¯¹è¯æ¡†
IMPLEMENT_DYNAMIC(CPageCassetteCtrlCmd, CHMPropertyPage)
CPageCassetteCtrlCmd::CPageCassetteCtrlCmd(CWnd* pParent /*=nullptr*/)
   : CHMPropertyPage(IDD_PAGE_CASSETTE_CTRL_CMD, pParent)
{
   m_pEquipment = nullptr;
}
CPageCassetteCtrlCmd::~CPageCassetteCtrlCmd()
{
}
void CPageCassetteCtrlCmd::DoDataExchange(CDataExchange* pDX)
{
   CHMPropertyPage::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CPageCassetteCtrlCmd, CHMPropertyPage)
   ON_WM_CTLCOLOR()
   ON_WM_DESTROY()
   ON_WM_SIZE()
   ON_BN_CLICKED(IDC_BUTTON_SEND_CMD, &CPageCassetteCtrlCmd::OnBnClickedButtonSendCmd)
END_MESSAGE_MAP()
// CPageCassetteCtrlCmd æ¶ˆæ¯å¤„理程序
void CPageCassetteCtrlCmd::OnApply()
{
   __super::OnApply();
}
void CPageCassetteCtrlCmd::setEquipment(SERVO::CEquipment* pEquipment)
{
   m_pEquipment = pEquipment;
}
BOOL CPageCassetteCtrlCmd::OnInitDialog()
{
   CHMPropertyPage::OnInitDialog();
   const char* pszText[] = {"Cassette Map Download", "Clamp", "Unclamp",
      "Reclamp", "Cassette Process Start", "Cassette Process Start By Count",
      "Cassette Process Pause", "Cassette Process Resume", "Cassette Process Abort",
      "Cassette Process Cancel", "Cassette Process End"};
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_CTRL_CMD);
   for (int i = 0; i < 11; i++) {
      pComboBox->InsertString(i, pszText[i]);
   }
   pComboBox->SetCurSel(0);
   return TRUE;  // return TRUE unless you set the focus to a control
              // å¼‚常: OCX å±žæ€§é¡µåº”返回 FALSE
}
HBRUSH CPageCassetteCtrlCmd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CHMPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
   // TODO:  åœ¨æ­¤æ›´æ”¹ DC çš„任何特性
   // TODO:  å¦‚果默认的不是所需画笔,则返回另一个画笔
   return hbr;
}
void CPageCassetteCtrlCmd::OnDestroy()
{
   CHMPropertyPage::OnDestroy();
}
void CPageCassetteCtrlCmd::OnSize(UINT nType, int cx, int cy)
{
   CHMPropertyPage::OnSize(nType, cx, cy);
}
void CPageCassetteCtrlCmd::OnBnClickedButtonSendCmd()
{
   ASSERT(m_pEquipment != nullptr);
   ASSERT(m_pEquipment->getID() == EQ_ID_LOADPORT1
      || m_pEquipment->getID() == EQ_ID_LOADPORT2);
   SERVO::CLoadPort* pLoadPort = (SERVO::CLoadPort*)m_pEquipment;
   short cmd = 0;
   short jobExistence[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   int jobExistenceSize = 12;
   short slotProcess = 0;
   short jobCount = 0;
   SERVO::CJobDataA* pJobDataA = new SERVO::CJobDataA();
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_CTRL_CMD);
   cmd = pComboBox->GetCurSel() + 1;
   for (int i = 0; i < 12; i++) {
      jobExistence[i] = (short)GetDlgItemInt(IDC_EDIT_EXISTENCE1 + i);
   }
   slotProcess = (short)GetDlgItemInt(IDC_EDIT_SLOT_TO_PROCESS);
   jobCount = (short)GetDlgItemInt(IDC_EDIT_JOB_COUNT);
   pLoadPort->sendCassetteCtrlCmd(cmd, &jobExistence[0], jobExistenceSize, slotProcess,
      jobCount, pJobDataA);
}