LAPTOP-SNT8I5JK\Boounion
2025-03-03 bf55b2f3083cbfdeb83611b2fa2dd552bf5b0775
SourceCode/Bond/Servo/ServoDlg.h
@@ -6,7 +6,14 @@
#include "ServoGraph.h"
#include "BlButton.h"
#include "LogDlg.h"
#include "TerminalDisplayDlg.h"
#include "CPanelMaster.h"
enum DeviceStatus {
   ONLINE,       // 在线
   OFFLINE,      // 离线
};
// CServoDlg 对话框
class CServoDlg : public CDialogEx
@@ -16,9 +23,25 @@
   CServoDlg(CWnd* pParent = NULL);   // 标准构造函数
public:
   void ShowTerminalText(const char* pszText, unsigned int duration = -1);
private:
   void InitRxWindows();
   void Resize();
   void UpdateLogBtn();
   void UpdateAlarmBtn();
   void UpdateRobotPosition(float percentage);
   void RotateRobot(float angleInDegrees);
   void UpdateDeviceStatus(int id, DeviceStatus status);
private:
   IObserver* m_pObserver;
   BOOL m_bShowLogWnd;
   BOOL m_bShowAlarmWnd;
   CLogDlg* m_pLogDlg;
   CTerminalDisplayDlg* m_pTerminalDisplayDlg;
// 对话框数据
@@ -31,8 +54,7 @@
private:
   BOOL m_bShowLogWnd;
   CLogDlg* m_pLogDlg;
   BOOL m_bIsRobotMoving;
// 实现
protected:
@@ -41,6 +63,8 @@
   COLORREF m_crBkgnd;
   HBRUSH m_hbrBkgnd;
   CBlButton m_btnLog;
   CBlButton m_btnAlarm;
   CPanelMaster* m_pPanelMaster;
   // 生成的消息映射函数
@@ -70,4 +94,9 @@
   afx_msg void OnMenuFileExit();
   afx_msg void OnUpdateMenuFileExit(CCmdUI* pCmdUI);
   afx_msg void OnMenuHelpAbout();
   afx_msg void OnTimer(UINT_PTR nIDEvent);
   afx_msg BOOL OnEraseBkgnd(CDC* pDC);
   afx_msg void OnBnClickedButtonAlarm();
   afx_msg void OnGraphItemClicked(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg LRESULT OnPanelResize(WPARAM wParam, LPARAM lParam);
};