| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #pragma once |
| | | #include "afxdialogex.h" |
| | | #include "BlButton.h" |
| | | #include "BLLabel.h" |
| | | #include "CPLC.h" |
| | | |
| | | // CAxisSettingsDlg å¯¹è¯æ¡ |
| | | |
| | | enum class AxisOperationType { |
| | | OPR = 0, // ååç¹ |
| | | JOG_ADD, // æ£åç¹å¨ |
| | | JOG_SUB, // ååç¹å¨ |
| | | STOP, // 忢æä½ |
| | | POSITION_1, // å®ä½ç¹1 |
| | | POSITION_2, // å®ä½ç¹2 |
| | | POSITION_3, // å®ä½ç¹3 |
| | | POSITION_4, // å®ä½ç¹4 |
| | | POSITION_5 // å®ä½ç¹5 |
| | | }; |
| | | |
| | | class CAxisSettingsDlg : public CDialogEx |
| | | { |
| | | DECLARE_DYNAMIC(CAxisSettingsDlg) |
| | | |
| | | public: |
| | | CAxisSettingsDlg(CWnd* pParent = nullptr); // æ åæé 彿° |
| | | virtual ~CAxisSettingsDlg(); |
| | | |
| | | public: |
| | | void SetPLC(CPLC* pPLC); |
| | | void SetRecipeName(const CString& strRecipeName); |
| | | |
| | | // å¯¹è¯æ¡æ°æ® |
| | | #ifdef AFX_DESIGN_TIME |
| | | enum { IDD = IDD_DIALOG_AXIS_SETTINGS }; |
| | | #endif |
| | | |
| | | private: |
| | | UINT FindIDByName(const CString& strControlID); |
| | | CFont* GetOrCreateFont(int nFontSize); |
| | | void SetDefaultFont(); |
| | | 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 updatePageButtonStates(); |
| | | int getCurrentSelectedAxisID(); |
| | | void initializeAxisIDCombo(); |
| | | void refreshAxisDetails(int nAxisId); |
| | | void refreshPositionDetails(int nAxisId, int pageNumber); |
| | | void updateAxisSelection(int offset); |
| | | void updateDataFromUI(int nAxisId); |
| | | void switchToPage(int targetPage); |
| | | void writeAxisDataToPLC(int nAxisId); |
| | | void handleAxisOperation(AxisOperationType eOpType, bool bPressed); |
| | | |
| | | |
| | | private: |
| | | CPLC* m_pPLC; |
| | | int m_nInitialWidth; |
| | | int m_nInitialHeight; |
| | | |
| | | // å½åéä¸çå®ä½é¡µé¢ç´¢å¼ |
| | | int m_currentPage; |
| | | |
| | | // é
æ¹åç§° |
| | | CString m_strRecipeName; |
| | | |
| | | // æä¸æ è¯ |
| | | BOOL m_bJogAddPressed; |
| | | BOOL m_bJogSubPressed; |
| | | |
| | | // æ§ä»¶ |
| | | CBLLabel m_staticFLS, m_staticDOG, m_staticRLS, m_staticReady, m_staticBusy, m_staticErr; |
| | | 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]; |
| | | |
| | | std::map<int, CRect> m_mapCtrlLayouts; |
| | | std::map<int, CFont*> m_mapFonts; |
| | | |
| | | protected: |
| | | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV æ¯æ |
| | | virtual BOOL OnInitDialog(); |
| | | virtual BOOL PreTranslateMessage(MSG* pMsg); |
| | | afx_msg void OnSize(UINT nType, int cx, int cy); |
| | | afx_msg void OnSizing(UINT fwSide, LPRECT pRect); |
| | | afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); |
| | | afx_msg void OnBnClickedButtonAxisLast(); |
| | | afx_msg void OnBnClickedButtonAxisNext(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPointGroup1(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPointGroup2(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPointGroup3(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPointGroup4(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPointGroup5(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPoint1(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPoint2(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPoint3(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPoint4(); |
| | | afx_msg void OnBnClickedButtonAxisAnchorPoint5(); |
| | | afx_msg void OnBnClickedButtonAxisTestOpr(); |
| | | afx_msg void OnBnClickedButtonAxisTestStop(); |
| | | afx_msg void OnSelchangeComboAxisName(); |
| | | afx_msg void OnBnClickedButtonAxisSave(); |
| | | afx_msg void OnTimer(UINT_PTR nIDEvent); |
| | | DECLARE_MESSAGE_MAP() |
| | | }; |