From 4ef35bf238fc6f7217e4b6de4aee37192ec503ec Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期三, 17 九月 2025 13:36:27 +0800
Subject: [PATCH] 1.自绘CListCtrl用于ProcessJob的Carrier选择

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

diff --git a/SourceCode/Bond/Servo/CCjPage2.cpp b/SourceCode/Bond/Servo/CCjPage2.cpp
index 0f4aac9..b736ba4 100644
--- a/SourceCode/Bond/Servo/CCjPage2.cpp
+++ b/SourceCode/Bond/Servo/CCjPage2.cpp
@@ -48,6 +48,41 @@
     CCjPageBase::OnInitDialog();
 
 
+    // 鑻ヤ綘鐨勮祫婧愰噷鏈変竴涓崰浣嶇殑 ListCtrl锛堟瘮濡� IDC_LIST1锛夛紝杩欓噷鍋氬瓙绫诲寲锛�
+    m_selector.SubclassDlgItem(IDC_LIST_SELECTOR, this);
+
+    // 鍒濆鍖栵細4 鍒� 脳 8 琛�
+    m_selector.InitGrid(4, 8);
+    m_selector.SetColumnWidths(100, 180);
+    m_selector.SetRowHeight(36);
+
+    // 璁剧疆鍒椾俊鎭�
+    m_selector.SetPortInfo(0, _T("Port 1"), _T("Carrier A"));
+    m_selector.SetPortInfo(1, _T("Port 2"), _T("Carrier B"));
+    m_selector.SetPortInfo(2, _T("Port 3"), _T("Carrier C"));
+    m_selector.SetPortInfo(3, _T("Port 4"), _T("Carrier D"));
+
+    // 璁剧疆閮ㄥ垎 Glass锛堟牳蹇僆D鍥哄畾锛�
+    m_selector.SetSlotGlass(0, 0, TRUE, _T("001"), CCarrierSlotSelector::MAT_G1);
+    m_selector.SetSlotGlass(0, 1, TRUE, _T("002"), CCarrierSlotSelector::MAT_G1);
+    m_selector.SetSlotGlass(0, 3, TRUE, _T("004"), CCarrierSlotSelector::MAT_G1);
+
+    m_selector.SetSlotGlass(1, 0, TRUE, _T("101"), CCarrierSlotSelector::MAT_G2);
+    m_selector.SetSlotGlass(1, 1, TRUE, _T("102"), CCarrierSlotSelector::MAT_G2);
+    m_selector.SetSlotGlass(1, 2, TRUE, _T("103"), CCarrierSlotSelector::MAT_G2);
+    m_selector.SetSlotGlass(1, 5, TRUE, _T("106"), CCarrierSlotSelector::MAT_G2);
+    m_selector.SetSlotGlass(1, 7, TRUE, _T("108"), CCarrierSlotSelector::MAT_G2);
+
+    m_selector.SetSlotGlass(2, 5, TRUE, _T("206"), CCarrierSlotSelector::MAT_G1);
+    m_selector.SetSlotGlass(2, 6, TRUE, _T("207"), CCarrierSlotSelector::MAT_G1);
+    m_selector.SetSlotGlass(2, 7, TRUE, _T("208"), CCarrierSlotSelector::MAT_G1);
+
+    m_selector.SetSlotGlass(3, 0, TRUE, _T("301"), CCarrierSlotSelector::MAT_G1);
+
+    // 閿佸畾 Port 1锛堢ず渚嬶級
+    m_selector.SetPortAllocated(0, TRUE, _T("ProcessJob 1"));
+
+
     UpdatePjData();
  
         
@@ -87,6 +122,25 @@
     GetDlgItemText(IDC_EDIT_PJ_ID, szBuffer, 256);
     pProcessJob->setId(std::string(szBuffer));
 
+    // 鏇存柊閰嶆柟
+    CString strRecipe;
+    CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_RECIPE);
+    int idx = pComboBox->GetCurSel();
+    if (idx >= 0) {
+        pComboBox->GetLBText(idx, strRecipe);
+#ifdef UNICODE
+        CT2A utf8Str(strRecipe, CP_UTF8);
+        std::string recipe(utf8Str);
+#else
+        std::string recipe(strRecipe.GetString());
+#endif
+
+        pProcessJob->setRecipe(SERVO::RecipeMethod::NoTuning, recipe);
+    }
+
+
+
+
     ContentChanged(1);
 }
 

--
Gitblit v1.9.3