From 2aff4ac73e77d803ba3656057187956258713dbd Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 17 十二月 2025 17:32:32 +0800
Subject: [PATCH] 1.生产面板,菜单项等;

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

diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 34c48f1..248c5af 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -93,6 +93,7 @@
 	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
 	m_crBkgnd = APPDLG_BACKGROUND_COLOR;
 	m_hbrBkgnd = nullptr;
+	m_nLeftPanelType = 2;
 	m_pTerminalDisplayDlg = nullptr;
 	m_pObserver = nullptr;
 	m_pPanelMaster = nullptr;
@@ -142,6 +143,10 @@
 	ON_UPDATE_COMMAND_UI(ID_MENU_TEST_MESSAGE_CLEAR, &CServoDlg::OnUpdateMenuTestMessageClear)
 	ON_COMMAND(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnMenuToolsClientList)
 	ON_UPDATE_COMMAND_UI(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnUpdateMenuToolsClientList)
+	ON_COMMAND(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnMenuWndTestPanel)
+	ON_UPDATE_COMMAND_UI(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnUpdateMenuWndTestPanel)
+	ON_COMMAND(ID_MENU_WND_PRO_PANEL, &CServoDlg::OnMenuWndProPanel)
+	ON_UPDATE_COMMAND_UI(ID_MENU_WND_PRO_PANEL, &CServoDlg::OnUpdateMenuWndProPanel)
 	ON_COMMAND(ID_MENU_HELP_ABOUT, &CServoDlg::OnMenuHelpAbout)
 	ON_WM_INITMENUPOPUP()
 	ON_WM_TIMER()
@@ -435,7 +440,7 @@
 	m_pPanelProduction = new CPanelProduction();
 	m_pPanelProduction->setPanelWidth(nPanelWidth);
 	m_pPanelProduction->Create(IDD_PANEL_PRODUCTION, this);
-	m_pPanelProduction->ShowWindow(SW_SHOW);
+	SetLeftPanelType(m_nLeftPanelType, false);
 	m_pPanelEquipment = new CPanelEquipment();
 	m_pPanelEquipment->Create(IDD_PANEL_EQUIPMENT, this);
 	m_pPanelAttributes = new CPanelAttributes();
@@ -695,6 +700,28 @@
 	pCmdUI->Enable(TRUE);
 }
 
+void CServoDlg::OnMenuWndTestPanel()
+{
+	SetLeftPanelType(1);
+}
+
+void CServoDlg::OnUpdateMenuWndTestPanel(CCmdUI* pCmdUI)
+{
+	pCmdUI->Enable(TRUE);
+	pCmdUI->SetRadio(m_nLeftPanelType == 1);
+}
+
+void CServoDlg::OnMenuWndProPanel()
+{
+	SetLeftPanelType(2);
+}
+
+void CServoDlg::OnUpdateMenuWndProPanel(CCmdUI* pCmdUI)
+{
+	pCmdUI->Enable(TRUE);
+	pCmdUI->SetRadio(m_nLeftPanelType == 2);
+}
+
 void CServoDlg::OnMenuHelpAbout()
 {
 	theApp.m_model.getMaster().test();
@@ -916,6 +943,32 @@
 	m_pMyStatusbar->MoveWindow(0, y2, rcClient.Width(), STATUSBAR_HEIGHT);
 }
 
+void CServoDlg::SetLeftPanelType(int type, bool resize)
+{
+	if (type != 1 && type != 2) {
+		type = 1;
+	}
+
+	m_nLeftPanelType = type;
+	if (m_pPanelMaster != nullptr) {
+		m_pPanelMaster->ShowWindow(SW_HIDE);
+	}
+	if (m_pPanelProduction != nullptr) {
+		m_pPanelProduction->ShowWindow(SW_HIDE);
+	}
+	if (type == 1 && m_pPanelMaster != nullptr) {
+		m_pPanelMaster->ShowWindow(SW_SHOW);
+	}
+	else if (type == 2 && m_pPanelProduction != nullptr) {
+		m_pPanelProduction->ShowWindow(SW_SHOW);
+	}
+
+	if (resize && ::IsWindow(m_hWnd)) {
+		Resize();
+		DrawMenuBar();
+	}
+}
+
 void CServoDlg::OnClose()
 {
 	// TODO: 鍦ㄦ娣诲姞娑堟伅澶勭悊绋嬪簭浠g爜鍜�/鎴栬皟鐢ㄩ粯璁ゅ��

--
Gitblit v1.9.3