mrDarker
2025-08-27 7ec50101cc28996eee747962eb06b8fa52e016ed
SourceCode/Bond/Servo/ServoGraph.cpp
@@ -125,6 +125,9 @@
   case WM_LBUTTONDOWN:
      return pServoGraph->OnLButtonDown(wParam, lParam);
   case WM_SIZE:
      return pServoGraph->OnSize(wParam, lParam);
   case WM_GETDLGCODE:
      return DLGC_WANTALLKEYS;
@@ -271,6 +274,14 @@
   return ::DefWindowProc(m_hWnd, WM_LBUTTONDOWN, wParam, lParam);
}
/*
 *  WM_SIZE
 */
LRESULT CServoGraph::OnSize(WPARAM wParam, LPARAM lParam)
{
   return ::DefWindowProc(m_hWnd, WM_SIZE, wParam, lParam);
}
///////////////////////////////
@@ -634,6 +645,25 @@
   }
}
void CServoGraph::UpdateIndicateBox1Colors(int id, COLORREF newBackgroundColor, COLORREF newFrameColor1, COLORREF newFrameColor2)
{
   INDICATEBOX* pIndicateBox = GetIndicateBox(id);
   if (pIndicateBox != nullptr) {
      pIndicateBox->box1BackgroundColor = newBackgroundColor;
      pIndicateBox->box1FrameColor[0] = newFrameColor1;
      pIndicateBox->box1FrameColor[1] = newFrameColor2;
   }
}
void CServoGraph::UpdateIndicateBox2Colors(int id, COLORREF newBackgroundColor, COLORREF newFrameColor)
{
   INDICATEBOX* pIndicateBox = GetIndicateBox(id);
   if (pIndicateBox != nullptr) {
      pIndicateBox->box2BackgroundColor = newBackgroundColor;
      pIndicateBox->box2FrameColor = newFrameColor;
   }
}
void CServoGraph::DrawImage(HDC hMemDC, IMAGE& item)
{
   // 载入BMP
@@ -674,4 +704,27 @@
      graphics.DrawImage(&bitmap, item.x, item.y);
      graphics.ResetTransform();
   }
}
}
void CServoGraph::SetIndicateBoxData(int id, void* pData)
{
   INDICATEBOX* pib = GetIndicateBox(id);
   if (pib != nullptr) {
      pib->m_pData = pData;
   }
}
void* CServoGraph::GetIndicateBoxData(int id)
{
   INDICATEBOX* pib = GetIndicateBox(id);
   if (pib != nullptr) {
      return pib->m_pData;
   }
   return nullptr;
}
void CServoGraph::Invalidata()
{
   ::InvalidateRect(m_hWnd, NULL, TRUE);
}