| | |
| | | if (RX_CODE_EQ_DATA_CHANGED == code) { |
| | | // 通知设备状态 |
| | | SERVO::CEquipment* pEquipment = nullptr; |
| | | if (pAny->getPtrValue("ptr", (void*&)pEquipment)) { |
| | | if (pEquipment != nullptr) { |
| | | m_pEqsGraphWnd->ShowItemIndicator((DWORD_PTR)pEquipment, pEquipment->hasGlass()); |
| | | } |
| | | if (pAny->getPtrValue("ptr", (void*&)pEquipment) && pEquipment != nullptr) { |
| | | UpdateItemIndicators(pEquipment); |
| | | } |
| | | } |
| | | |
| | |
| | | m_pEqsGraphWnd->SetBkgndColor(m_crBkgnd); |
| | | m_pEqsGraphWnd->SetOnListener(listener); |
| | | |
| | | CString strIniFile, strItem; |
| | | strIniFile.Format(_T("%s\\configuration.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir); |
| | | int nIndicatorSize = GetPrivateProfileInt("PageGraph2", _T("IndicatorSize"), 10, strIniFile); |
| | | int nIndicatorMargin = GetPrivateProfileInt("PageGraph2", _T("IndicatorMargin"), 0, strIniFile); |
| | | m_pEqsGraphWnd->SetIndicatorSize(nIndicatorSize); |
| | | m_pEqsGraphWnd->SetIndicatorMargin(nIndicatorMargin); |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // 异常: OCX 属性页应返回 FALSE |
| | |
| | | m_pEqsGraphWnd->AddPin(pItem, OUTPIN, outPin->getName().c_str(), (DWORD_PTR)outPin); |
| | | } |
| | | |
| | | m_pEqsGraphWnd->ShowItemIndicator((DWORD_PTR)pEquipment, pEquipment->hasGlass()); |
| | | UpdateItemIndicators(pEquipment); |
| | | } |
| | | |
| | | void CPageGraph2::UpdateItemIndicators(SERVO::CEquipment* pEquipment) |
| | | { |
| | | for (int i = 0; i < SLOT_MAX; i++) { |
| | | auto pSlot = pEquipment->getSlot(i); |
| | | |
| | | int state = 0; |
| | | if (pSlot->isEnable()) { |
| | | state = pSlot->getContext() != nullptr ? 1 : 2; |
| | | } |
| | | m_pEqsGraphWnd->ShowItemIndicator((DWORD_PTR)pEquipment, state, i); |
| | | } |
| | | } |
| | | |
| | | void CPageGraph2::OnTimer(UINT_PTR nIDEvent) |