chenluhua1980
2026-01-19 44360bc2cdeee16be72f9cc4bfb42e0ac26b5b44
SourceCode/Bond/Servo/EqsGraphWnd.h
@@ -1,4 +1,4 @@
#pragma once
#pragma once
#include <functional>
@@ -35,6 +35,16 @@
#define MAX(X,Y) (((X)>(Y))?(X):(Y))
#endif
#define EQITEM_INDICATOR_COUNT      8
enum EIndicatorState
{
   INDICATOR_STATE_HIDDEN = 0,
   INDICATOR_STATE_HIGHLIGHT = 1,
   INDICATOR_STATE_GRAY = 2,
};
typedef struct tagEQSGRAPHWND_NMHDR
{
   NMHDR      nmhdr;
@@ -54,6 +64,7 @@
   DWORD_PTR pInPins;
   DWORD_PTR pOutPins;
   int nFlashFlag;
   BYTE nIndicatorState[EQITEM_INDICATOR_COUNT]; // 0=隐藏, 1=高亮, 2=灰色
} EQITEM;
typedef struct tagPIN
@@ -89,6 +100,7 @@
   ONEQITEMPOSCHANGED      onEqItemPosChanged;
   ONDELETEEQITEM         onDblckEqItem;
   ONDELETEEQITEM         onRclickEqItem;
   ONDELETEEQITEM         onSelectEqItem;
} EqsGraphListener;
class CEqsGraphWnd
@@ -142,6 +154,9 @@
   void SetItemPos(EQITEM* pItem, int x, int y);
   void FlashItem(EQITEM* pItem);
   void AnimationItem(EQITEM*pItem);
   void ShowItemIndicator(DWORD_PTR dwItemData, int state, int nIndex = 0);
   void SetIndicatorSize(int nSize);
   void SetIndicatorMargin(int nMargin);
private:
   void Init();
@@ -189,7 +204,7 @@
   EQITEM*      m_pFlashItem;
   EQITEM*      m_pAnimationItem;
   PIN *      m_pCurPin;
   PIN *      m_pSelLineOutPin;      // 选中的连线的两个pin中的out pin
   PIN *      m_pSelLineOutPin;      // 选中的连线的两个pin中的out pin
private:
   HWND      m_hWnd;
@@ -198,12 +213,12 @@
   HFONT      m_hFontTitle;
private:
   BOOL m_bUseGdiPlus;               // 使用GDI+绘图?
   COLORREF m_crItemBackground[2];      // item的颜色,normal, active
   COLORREF m_crItemFrame[2];         // item的边框,normal, active
   BOOL m_bUseGdiPlus;               // 使用GDI+绘图?
   COLORREF m_crItemBackground[2];      // item的颜色,normal, active
   COLORREF m_crItemFrame[2];         // item的边框,normal, active
   COLORREF m_crItemNameText[2];
   COLORREF m_crItemIdText[2];
   COLORREF m_crPinBkgnd[3];         // pin的颜色,normal, active, enable connect
   COLORREF m_crPinBkgnd[3];         // pin的颜色,normal, active, enable connect
   int m_nCurSel;
   EqsGraphListener m_listener;
   CPtrArray m_arItem;
@@ -211,18 +226,20 @@
   int m_nItemRound;
private:
   int m_nStageCx;         // 画布大小
   int m_nStageCx;         // 画布大小
   int m_nStageCy;
   int m_nOffsetX;
   int m_nOffsetY;
   int m_nIndicatorSize;
   int m_nIndicatorMargin;
   // 动画
   // 动画
   RECTF m_rcAnimation;
   RECTF m_rcAninationStep;
   int m_nAninationStep;
   int m_nAninationDuration;      // ms
   // 字体
   // 字体
   HFONT m_hFontName;
   HFONT m_hFontId;