From 8e2b7558c6dce11bfbb144a5d6bf329d41d43827 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期三, 17 九月 2025 17:35:34 +0800
Subject: [PATCH] 1.调整CControlJobManagerDlg的版面;

---
 SourceCode/Bond/Servo/CCjPage2.cpp |  115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 108 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/Servo/CCjPage2.cpp b/SourceCode/Bond/Servo/CCjPage2.cpp
index 0f4aac9..3e973a3 100644
--- a/SourceCode/Bond/Servo/CCjPage2.cpp
+++ b/SourceCode/Bond/Servo/CCjPage2.cpp
@@ -32,6 +32,10 @@
 	ON_WM_DESTROY()
     ON_EN_CHANGE(IDC_EDIT_PJ_ID, &CCjPage2::OnEnChangeEditPjId)
     ON_CBN_SELCHANGE(IDC_COMBO_RECIPE, &CCjPage2::OnCbnSelchangeComboRecipe)
+    ON_BN_CLICKED(IDC_RADIO1, &CCjPage2::OnBnClickedRadio1)
+    ON_BN_CLICKED(IDC_RADIO2, &CCjPage2::OnBnClickedRadio2)
+    ON_BN_CLICKED(IDC_RADIO3, &CCjPage2::OnBnClickedRadio3)
+    ON_BN_CLICKED(IDC_RADIO4, &CCjPage2::OnBnClickedRadio4)
 END_MESSAGE_MAP()
 
 
@@ -43,15 +47,32 @@
     UpdatePjData();
 }
 
+void CCjPage2::SetExclusionNames(std::vector<std::string>& names)
+{
+    m_exclusionNames = names;
+}
+
 BOOL CCjPage2::OnInitDialog()
 {
     CCjPageBase::OnInitDialog();
 
 
+    m_grid.SubclassDlgItem(IDC_GRID1, this);
+     m_grid.InitGrid(4, 8);
+    m_grid.SetColumnWidths(100, 220);
+    m_grid.SetRowHeight(28);
+    m_grid.SetHeaderHeight(32);
+    m_grid.EnableColumnResize(FALSE); // 绂佹鎷栧姩鍒楀
+
+    m_grid.SetPortInfo(0, _T("Port 1"), _T(""));
+    m_grid.SetPortInfo(1, _T("Port 2"), _T(""));
+    m_grid.SetPortInfo(2, _T("Port 3"), _T(""));
+    m_grid.SetPortInfo(3, _T("Port 4"), _T(""));
+
+
     UpdatePjData();
- 
-        
-        ;
+
+
 	return TRUE;  // return TRUE unless you set the focus to a control
 				  // 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
 }
@@ -66,14 +87,21 @@
 void CCjPage2::Resize()
 {
     CCjPageBase::Resize();
-    /*
+ 
+
     CWnd* pItem;
     CRect rcClient, rcItem;
     GetClientRect(&rcClient);
-    pItem = GetDlgItem(IDC_LABEL_TITLE);
+    pItem = GetDlgItem(IDC_GRID1);
     pItem->GetWindowRect(&rcItem);
-    pItem->MoveWindow(12, 8, rcClient.Width() - 24, rcItem.Height());
-    */
+    ScreenToClient(rcItem);
+
+    // 璁╂帶浠剁獥鍙e昂瀵歌嚜鍔ㄥ尮閰嶅綋鍓嶅垪瀹�/琛屾暟锛堜笉鍑虹幇婊氬姩鏉★級
+    if (::IsWindow(m_grid.m_hWnd)) {
+        CSize best = m_grid.CalcBestWindowSize(TRUE); // 璁$畻鍒板惈闈炲鎴峰尯鐨勬渶缁堢獥鍙eぇ灏�
+        pItem->MoveWindow(rcItem.left, rcItem.top, best.cx, best.cy);
+        pItem->Invalidate();
+    }
 }
 
 void CCjPage2::OnApply() 
@@ -83,9 +111,39 @@
     SERVO::CProcessJob* pProcessJob = (SERVO::CProcessJob*)m_pContext;
 
     // 鏇存柊鍚嶇О
+    BOOL bOkName = TRUE;
     char szBuffer[256];
     GetDlgItemText(IDC_EDIT_PJ_ID, szBuffer, 256);
+    for (auto item : m_exclusionNames) {
+        if (item.compare(std::string(szBuffer)) == 0) {
+            bOkName = FALSE;
+            break;
+        }
+    }
+    if (!bOkName) {
+        AfxMessageBox("涓嶈兘浣跨敤鍜屽叾瀹働rocess Job鐩稿悓鐨処D");
+        return;
+    }
+
+
     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);
 }
@@ -108,6 +166,17 @@
         if (idx != CB_ERR) pComboBox->SetCurSel(idx);
     }
 
+    // 绀轰緥锛氳缃甈ort淇℃伅銆侀攣鍒椼�佸~鍏匞lass
+    /*
+    m_grid.SetPortInfo(0, _T("Port 1"), _T(""));
+    m_grid.SetPortInfo(1, _T("Port 2"), _T(""));
+    m_grid.SetPortInfo(2, _T("Port 3"), _T("Carrier C"));
+    m_grid.SetPortInfo(3, _T("Port 4"), _T("Carrier D"));
+    m_grid.SetPortAllocated(2, TRUE, _T("ProcessJob 1"));
+    m_grid.SetSlotGlass(0, 0, TRUE, _T("A00123"), CCarrierSlotGrid::MAT_G1);
+    m_grid.SetSlotGlass(0, 1, TRUE, _T("A00124"), CCarrierSlotGrid::MAT_G1);
+    */
+
     m_bContentChangedLock = FALSE;
 }
 
@@ -120,3 +189,35 @@
 {
     ContentChanged(0);
 }
+
+void CCjPage2::OnBnClickedRadio1()
+{
+    m_grid.SetPortAllocated(0, FALSE, _T(""));
+    m_grid.SetPortAllocated(1, TRUE, _T(""));
+    m_grid.SetPortAllocated(2, TRUE, _T(""));
+    m_grid.SetPortAllocated(3, TRUE, _T(""));
+}
+
+void CCjPage2::OnBnClickedRadio2()
+{
+    m_grid.SetPortAllocated(0, TRUE, _T(""));
+    m_grid.SetPortAllocated(1, FALSE, _T(""));
+    m_grid.SetPortAllocated(2, TRUE, _T(""));
+    m_grid.SetPortAllocated(3, TRUE, _T(""));
+}
+
+void CCjPage2::OnBnClickedRadio3()
+{
+    m_grid.SetPortAllocated(0, TRUE, _T(""));
+    m_grid.SetPortAllocated(1, TRUE, _T(""));
+    m_grid.SetPortAllocated(2, FALSE, _T(""));
+    m_grid.SetPortAllocated(3, TRUE, _T(""));
+}
+
+void CCjPage2::OnBnClickedRadio4()
+{
+    m_grid.SetPortAllocated(0, TRUE, _T(""));
+    m_grid.SetPortAllocated(1, TRUE, _T(""));
+    m_grid.SetPortAllocated(2, TRUE, _T(""));
+    m_grid.SetPortAllocated(3, FALSE, _T(""));
+}

--
Gitblit v1.9.3