LAPTOP-SNT8I5JK\Boounion
2024-12-12 016703bb359382dc1de4ac204da47b6f29c55c81
SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -2,7 +2,51 @@
#include "afxdialogex.h"
#include "BlButton.h"
#include "BLLabel.h"
#include "RegexEdit.h"
#include "CPLC.h"
// 每页定位点显示个数
#define AXIS_PAGE_SIZE   5
// Label控件
#define LABEL_MAX      6
#define LABEL_FLS      0
#define LABEL_DOG      1
#define LABEL_RLS      2
#define LABEL_READY      3
#define LABEL_BUSY      4
#define LABEL_ERR      5
// RegexEdit控件
#define EDIT_MAX         10
#define EDIT_MANUAL_SPEED   0
#define EDIT_AUTO_SPEED      1
#define EDIT_ACCE_TIME      2
#define EDIT_DECE_TIME      3
#define EDIT_MICROMENTUM   4
#define EDIT_ANCHOR_POINT1   5
#define EDIT_ANCHOR_POINT2   6
#define EDIT_ANCHOR_POINT3   7
#define EDIT_ANCHOR_POINT4   8
#define EDIT_ANCHOR_POINT5   9
// BUTTON控件
#define BTN_MAX         15
#define BTN_PAGE1      0
#define BTN_PAGE2      1
#define BTN_PAGE3      2
#define BTN_PAGE4      3
#define BTN_PAGE5      4
#define BTN_JOG_ADD      5
#define BTN_JOG_SUB      6
#define BTN_JOG_SEV      7
#define BTN_JOG_OPR      8
#define BTN_JOG_STOP   9
#define BTN_POINT1      10
#define BTN_POINT2      11
#define BTN_POINT3      12
#define BTN_POINT4      13
#define BTN_POINT5      14
// CAxisSettingsDlg 对话框
@@ -11,6 +55,7 @@
   JOG_ADD,    // 正向点动
   JOG_SUB,    // 反向点动
   STOP,      // 停止操作
   SEV_ON,      // 使能
   POSITION_1, // 定位点1
   POSITION_2, // 定位点2
   POSITION_3, // 定位点3
@@ -42,12 +87,17 @@
   void AdjustControls(float dScaleX, float dScaleY);
   void AdjustControlFont(CWnd* pWnd, int nWidth, int nHeight);
   void AdjustLabelFont(CBLLabel& label);
   void SetStatusColor(CBLLabel& label, BOOL bStatus);
   void SetLabelColor(CBLLabel& label, COLORREF color);
   void SetLabelColorBasedOnState(CBLLabel& label, BOOL bState, COLORREF colorTrue, COLORREF colorFalse);
   void UpdateLabels();
   void UpdateRegexEdit(CRegexEdit* pRegexEdit, const ValueRange& range, const CString& title);
   void updatePageButtonStates();
   void HideEditCursor(int nCtrlID);
   int getCurrentSelectedAxisID();
   void initializeAxisIDCombo();
   void refreshAxisDetails(int nAxisId);
   void refreshPositionDetails(int nAxisId, int pageNumber);
   void UpdatePositionRange(PositionRange& position, int pageNumber, int pageSize, int currentIndex);
   void updateAxisSelection(int offset);
   void updateDataFromUI(int nAxisId);
   void switchToPage(int targetPage);
@@ -67,19 +117,34 @@
   // 配方名称
   CString m_strRecipeName;
   // 按下标识
   BOOL m_bJogAddPressed;
   BOOL m_bJogSubPressed;
   // 控件
   CBLLabel m_staticFLS, m_staticDOG, m_staticRLS, m_staticReady, m_staticBusy, m_staticErr;
   CBlButton* m_pBlBtns[BTN_MAX];
   CBLLabel* m_pBlLabels[LABEL_MAX];
   CRegexEdit* m_pRegexEdit[EDIT_MAX];
   CComboBox m_comboAxisNO;
   CStatic m_staticAxisNO, m_staticAxisDescription, m_staticStartAddress;
   CEdit m_editManualSpeed, m_editAutoSpeed, m_editAccelerationTime, m_editDecelerationTime, m_editJogDistance;
   CBlButton m_pageButtons[5];
   //CEdit m_editManualSpeed, m_editAutoSpeed, m_editAccelerationTime, m_editDecelerationTime, m_editJogDistance;
   std::map<int, CRect> m_mapCtrlLayouts;
   std::map<int, CFont*> m_mapFonts;
   // 读到的数据
   BOOL m_bSEV;
   double m_fCurPos;
   double m_fManualSpeed;
   double m_fAutoSpeed;
   double m_fPrm;
   int m_nLoad;
   int m_nErrCode;
   int m_nAlarmCode;
   BOOL m_bFLS;
   BOOL m_bDOG;
   BOOL m_bRLS;
   BOOL m_bReady;
   BOOL m_bBusy;
   BOOL m_bErr;
   DWORD m_nBtnsFlashState6;
   DWORD m_nBtnsFlashState8;
protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
@@ -102,8 +167,13 @@
   afx_msg void OnBnClickedButtonAxisAnchorPoint5();
   afx_msg void OnBnClickedButtonAxisTestOpr();
   afx_msg void OnBnClickedButtonAxisTestStop();
   afx_msg void OnBnClickedButtonAxisSev();
   afx_msg void OnSelchangeComboAxisName();
   afx_msg void OnBnClickedButtonAxisSave();
   afx_msg void OnBnClickedButtonAxisUpdateUi();
   afx_msg void OnBnClickedButtonAxisDetailSettings();
   afx_msg LRESULT OnUpdateDataToUI(WPARAM wParam, LPARAM lParam);
   afx_msg void OnTimer(UINT_PTR nIDEvent);
   afx_msg void OnClose();
   DECLARE_MESSAGE_MAP()
};