From fc8a07f476648f82abf9934483b04cfee0161e4e Mon Sep 17 00:00:00 2001
From: LAPTOP-T815PCOQ\25526 <mr.liuyang@126.com>
Date: 星期四, 28 十一月 2024 10:44:27 +0800
Subject: [PATCH] 1.扩展静态文本实现回调函数点击事件 2.模拟监听PLC
---
SourceCode/Bond/BondEq/View/AxisSettingsDlg.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
index 6c73683..bd1f4d6 100644
--- a/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
+++ b/SourceCode/Bond/BondEq/View/AxisSettingsDlg.h
@@ -1,8 +1,22 @@
锘�#pragma once
#include "afxdialogex.h"
-
+#include "BlButton.h"
+#include "BLLabel.h"
+#include "CPLC.h"
// CAxisSettingsDlg 瀵硅瘽妗�
+
+enum class AxisOperationType {
+ OPR = 0, // 鍥炲師鐐�
+ JOG_ADD, // 姝e悜鐐瑰姩
+ JOG_SUB, // 鍙嶅悜鐐瑰姩
+ STOP, // 鍋滄鎿嶄綔
+ POSITION_1, // 瀹氫綅鐐�1
+ POSITION_2, // 瀹氫綅鐐�2
+ POSITION_3, // 瀹氫綅鐐�3
+ POSITION_4, // 瀹氫綅鐐�4
+ POSITION_5 // 瀹氫綅鐐�5
+};
class CAxisSettingsDlg : public CDialogEx
{
@@ -12,26 +26,64 @@
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);
@@ -48,8 +100,9 @@
afx_msg void OnBnClickedButtonAxisAnchorPoint4();
afx_msg void OnBnClickedButtonAxisAnchorPoint5();
afx_msg void OnBnClickedButtonAxisTestOpr();
- afx_msg void OnBnClickedButtonAxisTestJogAdd();
- afx_msg void OnBnClickedButtonAxisTestJogSub();
afx_msg void OnBnClickedButtonAxisTestStop();
+ afx_msg void OnSelchangeComboAxisName();
+ afx_msg void OnBnClickedButtonAxisSave();
+ afx_msg void OnTimer(UINT_PTR nIDEvent);
DECLARE_MESSAGE_MAP()
};
--
Gitblit v1.9.3