From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CVariableEditDlg2.cpp |   89 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CVariableEditDlg2.cpp b/SourceCode/Bond/Servo/CVariableEditDlg2.cpp
new file mode 100644
index 0000000..657ec41
--- /dev/null
+++ b/SourceCode/Bond/Servo/CVariableEditDlg2.cpp
@@ -0,0 +1,89 @@
+锘�#include "stdafx.h"
+#include "CVariableEditDlg2.h"
+#include "resource.h"
+
+IMPLEMENT_DYNAMIC(CVariableEditDlg2, CDialogEx)
+
+CVariableEditDlg2::CVariableEditDlg2(const CString& title, int varId, const CString& type, const CString& name, const CString& remark, CWnd* pParent)
+	: CDialogEx(IDD_DIALOG_VARIABLE_EDIT2, pParent),
+	m_strTitle(title),
+	m_varId(varId),
+	m_strType(type),
+	m_strName(name),
+	m_strRemark(remark)
+{
+}
+
+CVariableEditDlg2::~CVariableEditDlg2()
+{
+}
+
+void CVariableEditDlg2::DoDataExchange(CDataExchange* pDX)
+{
+	CDialogEx::DoDataExchange(pDX);
+	DDX_Control(pDX, IDC_EDIT_VAR_ID, m_editId);
+	DDX_Control(pDX, IDC_COMBO_VAR_TYPE, m_cbType);
+	DDX_Control(pDX, IDC_EDIT_VAR_NAME, m_editName);
+	DDX_Control(pDX, IDC_EDIT_VAR_REMARK, m_editRemark);
+}
+
+BEGIN_MESSAGE_MAP(CVariableEditDlg2, CDialogEx)
+END_MESSAGE_MAP()
+
+BOOL CVariableEditDlg2::OnInitDialog()
+{
+	CDialogEx::OnInitDialog();
+
+	SetWindowText(m_strTitle);
+
+	CString strId;
+	strId.Format(_T("%d"), m_varId);
+	m_editId.SetWindowText(strId);
+	m_editId.SetReadOnly(TRUE);
+
+	m_cbType.ResetContent();
+	const TCHAR* fmts[] = { _T("U1"), _T("U2"), _T("I2"), _T("A20"), _T("A50"), _T("L") };
+	for (auto f : fmts) {
+		m_cbType.AddString(f);
+	}
+	if (!m_strType.IsEmpty()) {
+		m_cbType.SelectString(-1, m_strType);
+	}
+	else {
+		m_cbType.SetCurSel(0);
+	}
+
+	m_editName.SetWindowText(m_strName);
+	m_editRemark.SetWindowText(m_strRemark);
+
+	return TRUE;
+}
+
+void CVariableEditDlg2::OnOK()
+{
+	CString name, fmt, remark;
+	m_editName.GetWindowText(name);
+	m_cbType.GetWindowText(fmt);
+	m_editRemark.GetWindowText(remark);
+
+	fmt.MakeUpper();
+	if (name.IsEmpty()) {
+		AfxMessageBox(_T("鍚嶇О涓嶈兘涓虹┖"));
+		return;
+	}
+	if (fmt.IsEmpty()) {
+		AfxMessageBox(_T("绫诲瀷涓嶈兘涓虹┖"));
+		return;
+	}
+	if (fmt != _T("U1") && fmt != _T("U2") && fmt != _T("I2")
+		&& fmt != _T("A20") && fmt != _T("A50") && fmt != _T("L")) {
+		AfxMessageBox(_T("绫诲瀷蹇呴』鏄� U1/U2/I2/A20/A50/L"));
+		return;
+	}
+
+	m_strName = name;
+	m_strType = fmt;
+	m_strRemark = remark;
+
+	CDialogEx::OnOK();
+}
\ No newline at end of file

--
Gitblit v1.9.3