| ¶Ô±ÈÐÂÎļþ |
| | |
| | | // CPagePortStatus.cpp: å®ç°æä»¶ |
| | | // |
| | | |
| | | #include "stdafx.h" |
| | | #include "Servo.h" |
| | | #include "CPagePortStatus.h" |
| | | #include "afxdialogex.h" |
| | | |
| | | |
| | | // CPagePortStatus å¯¹è¯æ¡ |
| | | |
| | | IMPLEMENT_DYNAMIC(CPagePortStatus, CHMPropertyPage) |
| | | |
| | | CPagePortStatus::CPagePortStatus(CWnd* pParent /*=nullptr*/) |
| | | : CHMPropertyPage(IDD_PAGE_PORT_STATUS, pParent) |
| | | { |
| | | m_pPort = nullptr; |
| | | } |
| | | |
| | | CPagePortStatus::~CPagePortStatus() |
| | | { |
| | | } |
| | | |
| | | void CPagePortStatus::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | | CHMPropertyPage::DoDataExchange(pDX); |
| | | } |
| | | |
| | | |
| | | BEGIN_MESSAGE_MAP(CPagePortStatus, CHMPropertyPage) |
| | | ON_WM_CTLCOLOR() |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | | // CPagePortStatus æ¶æ¯å¤çç¨åº |
| | | void CPagePortStatus::setLoadPort(SERVO::CLoadPort* pPort) |
| | | { |
| | | m_pPort = pPort; |
| | | } |
| | | |
| | | BOOL CPagePortStatus::OnInitDialog() |
| | | { |
| | | CHMPropertyPage::OnInitDialog(); |
| | | |
| | | |
| | | ASSERT(m_pPort); |
| | | CComboBox* pComboBox; |
| | | std::string strTemp; |
| | | |
| | | pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_PORT_STATUS); |
| | | for (int i = 1; i <= 6; i++) { |
| | | pComboBox->InsertString(i - 1, SERVO::CLoadPort::getPortStatusDescription(i, strTemp).c_str()); |
| | | } |
| | | int portStatus = m_pPort->getPortStatus(); |
| | | if (1 <= portStatus && portStatus <= 6) { |
| | | pComboBox->SetCurSel(portStatus - 1); |
| | | } |
| | | |
| | | SetDlgItemInt(IDC_EDIT_CASSETTE_NO, m_pPort->getCassetteSequenceNo()); |
| | | SetDlgItemText(IDC_EDIT_CASSETTE_ID, m_pPort->getCassetteId().c_str()); |
| | | |
| | | pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_LOADING_CASSETTE_TYPE); |
| | | for (int i = 1; i <= 4; i++) { |
| | | pComboBox->InsertString(i - 1, SERVO::CLoadPort::getLoadingCassetteTypeDescription(i, strTemp).c_str()); |
| | | } |
| | | int loadingCassetteType = m_pPort->getLoadingCassetteType(); |
| | | if (1 <= loadingCassetteType && loadingCassetteType <= 4) { |
| | | pComboBox->SetCurSel(loadingCassetteType - 1); |
| | | } |
| | | |
| | | pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_QTIME_FLAG); |
| | | for (int i = 1; i <= 2; i++) { |
| | | pComboBox->InsertString(i - 1, SERVO::CLoadPort::getQTimeFlagDescription(i, strTemp).c_str()); |
| | | } |
| | | int qTimeFlag = m_pPort->getQTimeFlag(); |
| | | if (1 <= qTimeFlag && qTimeFlag <= 2) { |
| | | pComboBox->SetCurSel(qTimeFlag - 1); |
| | | } |
| | | |
| | | pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_MAPPING_STATE); |
| | | for (int i = 1; i <= 2; i++) { |
| | | pComboBox->InsertString(i - 1, SERVO::CLoadPort::getCassetteMappingStateDescription(i, strTemp).c_str()); |
| | | } |
| | | int mappingState = m_pPort->getCassetteMappingState(); |
| | | if (1 <= mappingState && mappingState <= 2) { |
| | | pComboBox->SetCurSel(mappingState - 1); |
| | | } |
| | | |
| | | pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_STATUS); |
| | | for (int i = 1; i <= 7; i++) { |
| | | pComboBox->InsertString(i - 1, SERVO::CLoadPort::getCassetteStatusDescription(i, strTemp).c_str()); |
| | | } |
| | | int cassetteStatus = m_pPort->getCassetteStatus(); |
| | | if (1 <= cassetteStatus && cassetteStatus <= 7) { |
| | | pComboBox->SetCurSel(cassetteStatus - 1); |
| | | } |
| | | |
| | | // å建Job Existence Slotsæ§ä»¶ |
| | | m_ctrlJobSlotGrid.Create(AfxRegisterWndClass(0), _T("JobSlotGrid"), |
| | | WS_CHILD | WS_VISIBLE, CRect(0, 0, 100, 100), this, 1001); |
| | | m_ctrlJobSlotGrid.SetGridSize(12, 16); |
| | | m_ctrlJobSlotGrid.SetColors(RGB(34, 177, 76), RGB(200, 200, 200)); |
| | | |
| | | m_ctrlJobSlotGrid.SetSlotStatus(0, 1, true); |
| | | m_ctrlJobSlotGrid.SetSlotStatus(1, 9, true); |
| | | m_ctrlJobSlotGrid.SetSlotStatus(4, 9, false); |
| | | m_ctrlJobSlotGrid.SetSlotStatus(4, 10, true, TRUE); |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // å¼å¸¸: OCX 屿§é¡µåºè¿å FALSE |
| | | } |
| | | |
| | | HBRUSH CPagePortStatus::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) |
| | | { |
| | | HBRUSH hbr = CHMPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); |
| | | |
| | | // TODO: 卿¤æ´æ¹ DC çä»»ä½ç¹æ§ |
| | | |
| | | // TODO: 妿é»è®¤ç䏿¯æéç»ç¬ï¼åè¿åå¦ä¸ä¸ªç»ç¬ |
| | | return hbr; |
| | | } |
| | | |
| | | void CPagePortStatus::OnDestroy() |
| | | { |
| | | CHMPropertyPage::OnDestroy(); |
| | | |
| | | // TODO: 卿¤å¤æ·»å æ¶æ¯å¤çç¨åºä»£ç |
| | | } |
| | | |
| | | void CPagePortStatus::OnSize(UINT nType, int cx, int cy) |
| | | { |
| | | CHMPropertyPage::OnSize(nType, cx, cy); |
| | | if (GetDlgItem(IDC_COMBO_PORT_STATUS) == nullptr) return; |
| | | |
| | | |
| | | // å建Job Existence Slotsæ§ä»¶ |
| | | CRect rcLabel, rcComboBox, rcClient; |
| | | GetDlgItem(IDC_LABEL_JOB_EXISTENCE_SLOTS)->GetWindowRect(&rcLabel); |
| | | ScreenToClient(rcLabel); |
| | | GetDlgItem(IDC_COMBO_CASSETTE_STATUS)->GetWindowRect(&rcComboBox); |
| | | ScreenToClient(rcComboBox); |
| | | GetClientRect(rcClient); |
| | | |
| | | m_ctrlJobSlotGrid.MoveWindow(rcComboBox.left, rcLabel.top, |
| | | rcClient.right - 22 - rcComboBox.left, rcClient.bottom - 12 - rcLabel.top); |
| | | } |