| | |
| | | ON_WM_SIZE() |
| | | ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, &CEquipmentPage2::OnLvnItemchangedList1) |
| | | ON_BN_CLICKED(IDC_BUTTON_REMOVE, &CEquipmentPage2::OnBnClickedButtonRemove) |
| | | ON_BN_CLICKED(IDC_BUTTON_PUT, &CEquipmentPage2::OnBnClickedButtonPut) |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | ListView_SetImageList(m_listCtrl.GetSafeHwnd(), imageList, LVSIL_SMALL); |
| | | m_listCtrl.InsertColumn(0, _T(""), LVCFMT_RIGHT, width[0]); |
| | | m_listCtrl.InsertColumn(1, _T("ID"), LVCFMT_LEFT, width[1]); |
| | | m_listCtrl.InsertColumn(2, _T("时间"), LVCFMT_LEFT, width[2]); |
| | | m_listCtrl.SetColumnWidth(2, LVSCW_AUTOSIZE_USEHEADER); |
| | | m_listCtrl.InsertColumn(2, _T("名称"), LVCFMT_LEFT, width[2]); |
| | | m_listCtrl.InsertColumn(3, _T("Glass ID"), LVCFMT_LEFT, width[3]); |
| | | m_listCtrl.InsertColumn(4, _T("贴合Glass ID"), LVCFMT_LEFT, width[4]); |
| | | m_listCtrl.InsertColumn(5, _T("时间"), LVCFMT_LEFT, width[5]); |
| | | m_listCtrl.SetColumnWidth(5, LVSCW_AUTOSIZE_USEHEADER); |
| | | |
| | | |
| | | ASSERT(m_pEquipment); |
| | | std::list<SERVO::CGlass*> list; |
| | | m_pEquipment->getGlassList(list); |
| | | for (auto item : list) { |
| | | item->addRef(); |
| | | item->release(); // 释放list中的引用 |
| | | int index = m_listCtrl.InsertItem(m_listCtrl.GetItemCount(), _T("")); |
| | | m_listCtrl.SetItemData(index, (DWORD_PTR)item); |
| | | m_listCtrl.SetItemText(index, 1, item->getID().c_str()); |
| | | |
| | | } |
| | | UpdateSlots(); |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // 异常: OCX 属性页应返回 FALSE |
| | |
| | | strTemp.Format(_T("%d"), rect.right - rect.left); |
| | | WritePrivateProfileString("EquipmentPage2ListCtrl", strItem, strTemp, strIniFile); |
| | | } |
| | | |
| | | for (int i = 0; i < m_listCtrl.GetItemCount(); i++) { |
| | | SERVO::CGlass* pGlass = (SERVO::CGlass*)m_listCtrl.GetItemData(i); |
| | | pGlass->release(); |
| | | } |
| | | } |
| | | |
| | | void CEquipmentPage2::OnSize(UINT nType, int cx, int cy) |
| | |
| | | GetClientRect(&rcClient); |
| | | |
| | | int x = 12; |
| | | int x1 = x; |
| | | int y2 = rcClient.bottom - 12; |
| | | pItem = GetDlgItem(IDC_BUTTON_REMOVE); |
| | | pItem->GetWindowRect(&rcItem); |
| | | pItem->MoveWindow(x, y2 - rcItem.Height(), rcItem.Width(), rcItem.Height()); |
| | | x1 += rcItem.Width(); |
| | | x1 += 12; |
| | | |
| | | pItem = GetDlgItem(IDC_BUTTON_PUT); |
| | | pItem->GetWindowRect(&rcItem); |
| | | pItem->MoveWindow(x1, y2 - rcItem.Height(), rcItem.Width(), rcItem.Height()); |
| | | y2 -= rcItem.Height(); |
| | | y2 -= 8; |
| | | |
| | |
| | | { |
| | | int index = GetSelectedItemIndex(); |
| | | if (index >= 0) { |
| | | SERVO::CGlass* pGlass = (SERVO::CGlass*)m_listCtrl.GetItemData(index); |
| | | ASSERT(m_pEquipment); |
| | | BOOL bRet = m_pEquipment->removeClass(pGlass); |
| | | if (bRet) { |
| | | pGlass->release(); |
| | | m_listCtrl.DeleteItem(index); |
| | | SERVO::CSlot* pSlot = (SERVO::CSlot*)m_listCtrl.GetItemData(index); |
| | | ASSERT(pSlot); |
| | | if (theApp.m_model.getMaster().moveGlassToBuf(m_pEquipment->getID(), |
| | | pSlot->getNo())) { |
| | | UpdateSlots(); |
| | | AfxMessageBox("物料已取出到Buffer中!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | void CEquipmentPage2::OnBnClickedButtonPut() |
| | | { |
| | | int index = GetSelectedItemIndex(); |
| | | if (index >= 0) { |
| | | SERVO::CSlot* pSlot = (SERVO::CSlot*)m_listCtrl.GetItemData(index); |
| | | ASSERT(pSlot); |
| | | if (theApp.m_model.getMaster().moveGlassToSlot(m_pEquipment->getID(), |
| | | pSlot->getNo())) { |
| | | UpdateSlots(); |
| | | AfxMessageBox("物料已放入指定位置!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | void CEquipmentPage2::UpdateSlots() |
| | | { |
| | | m_listCtrl.DeleteAllItems(); |
| | | for (int i = 0; i < SLOT_MAX; i++) { |
| | | SERVO::CSlot* pSlot = m_pEquipment->getSlot(i); |
| | | if (pSlot != nullptr && pSlot->isEnable()) { |
| | | int index = m_listCtrl.InsertItem(m_listCtrl.GetItemCount(), _T("")); |
| | | m_listCtrl.SetItemData(index, (DWORD_PTR)pSlot); |
| | | m_listCtrl.SetItemText(index, 1, std::to_string(pSlot->getNo()).c_str()); |
| | | m_listCtrl.SetItemText(index, 2, pSlot->getName().c_str()); |
| | | |
| | | SERVO::CGlass* pGlass = (SERVO::CGlass*)pSlot->getContext(); |
| | | if (pGlass != nullptr) { |
| | | CString strText; |
| | | if (pGlass->getType() == SERVO::MaterialsType::G1) { |
| | | strText.Format(_T("(G1)%s"), pGlass->getID().c_str()); |
| | | } |
| | | else if (pGlass->getType() == SERVO::MaterialsType::G2) { |
| | | strText.Format(_T("(G2)%s"), pGlass->getID().c_str()); |
| | | } |
| | | else { |
| | | strText.Format(_T("(%s"), pGlass->getID().c_str()); |
| | | } |
| | | m_listCtrl.SetItemText(index, 3, strText); |
| | | SERVO::CGlass* pBuddy = pGlass->getBuddy(); |
| | | if (pBuddy != nullptr) { |
| | | m_listCtrl.SetItemText(index, 4, pBuddy->getID().c_str()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |