#pragma once #include "ServoGraph.h" enum DeviceStatus { ONLINE, // 在线 OFFLINE, // 离线 }; // CPageGraph1 对话框 class CPageGraph1 : public CDialogEx { DECLARE_DYNAMIC(CPageGraph1) public: CPageGraph1(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CPageGraph1(); public: void InitRxWindows(); void UpdateDeviceStatus(int id, DeviceStatus status); void UpdateRobotPosition(float percentage); void RotateRobot(float angleInDegrees); void BindEquipmentToGraph(); private: IObserver* m_pObserver; CServoGraph* m_pGraph; BOOL m_bIsRobotMoving; COLORREF m_crBkgnd; HBRUSH m_hbrBkgnd; // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_PAGE_GRAPH1 }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnDestroy(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnGraphItemClicked(NMHDR* pNMHDR, LRESULT* pResult); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnTimer(UINT_PTR nIDEvent); };