chenluhua1980
2026-01-13 155cb7fe0dcb564729c6aecdb65815f3f0ed24e2
SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -64,10 +64,8 @@
         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);
            }
         }
@@ -284,7 +282,10 @@
         }
         */
         theApp.m_model.m_hsmsPassive.requestAlarmReport(1, 2, "abc");
         static int i = 0;
         i++;
         static char* pszText[] = {"123", "456", "789", "abc", "def"};
         theApp.m_model.m_hsmsPassive.requestAlarmReport(i%3, i, pszText[i%5]);
      }
@@ -302,6 +303,12 @@
   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
@@ -374,7 +381,20 @@
      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)