From 45b6a68910e1d7c7c9e1396a86cd9c2d804cab8c Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 04 一月 2025 10:24:18 +0800
Subject: [PATCH] 1.Log按钮,窗口大小自动调整;

---
 SourceCode/Bond/Servo/Servo.vcxproj         |    1 
 SourceCode/Bond/Servo/Servo.vcxproj.filters |    3 +
 SourceCode/Bond/Servo/Servo.rc              |    0 
 SourceCode/Bond/Servo/ServoDlg.cpp          |   51 ++++++++++++++++++++++---
 SourceCode/Bond/Servo/Common.h              |   23 +++++++++++
 SourceCode/Bond/Servo/ServoDlg.h            |    7 +++
 6 files changed, 78 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
new file mode 100644
index 0000000..3fbaa5e
--- /dev/null
+++ b/SourceCode/Bond/Servo/Common.h
@@ -0,0 +1,23 @@
+#pragma once
+
+
+/* Rx Code */
+#define RX_CODE_TEST					0
+#define RX_CODE_LOG						1000
+
+
+/* Channel Name */
+#define MC_CHANNEL1_NAME		"McChannel1"
+
+
+/* 颜色 */
+#define APPDLG_BACKGROUND_COLOR			RGB(255, 255, 255)
+
+
+/* LOG BTN */
+#define BTN_LOG_FRAME_NORMAL			RGB(88, 88, 88)
+#define BTN_LOG_FRAME_HOVER				RGB(88, 88, 88)
+#define BTN_LOG_FRAME_PRESS				RGB(88, 88, 88)
+#define BTN_LOG_BKGND_NORMAL			RGB(232, 232, 232)
+#define BTN_LOG_BKGND_HOVER				RGB(153, 217, 234)
+#define BTN_LOG_BKGND_PRESS				RGB(133, 203, 225)
diff --git a/SourceCode/Bond/Servo/Servo.rc b/SourceCode/Bond/Servo/Servo.rc
index ae0acba..7685750 100644
--- a/SourceCode/Bond/Servo/Servo.rc
+++ b/SourceCode/Bond/Servo/Servo.rc
Binary files differ
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj b/SourceCode/Bond/Servo/Servo.vcxproj
index 3fcf88f..41fedff 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj
+++ b/SourceCode/Bond/Servo/Servo.vcxproj
@@ -190,6 +190,7 @@
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="BlButton.h" />
+    <ClInclude Include="Common.h" />
     <ClInclude Include="Model.h" />
     <ClInclude Include="Resource.h" />
     <ClInclude Include="Servo.h" />
diff --git a/SourceCode/Bond/Servo/Servo.vcxproj.filters b/SourceCode/Bond/Servo/Servo.vcxproj.filters
index fffacb3..11dc3e6 100644
--- a/SourceCode/Bond/Servo/Servo.vcxproj.filters
+++ b/SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -42,6 +42,9 @@
     <ClInclude Include="BlButton.h">
       <Filter>澶存枃浠�</Filter>
     </ClInclude>
+    <ClInclude Include="Common.h">
+      <Filter>澶存枃浠�</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="Servo.cpp">
diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index dcf92d2..a4f5ae8 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -6,6 +6,8 @@
 #include "Servo.h"
 #include "ServoDlg.h"
 #include "afxdialogex.h"
+#include "Common.h"
+
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -68,7 +70,7 @@
 	: CDialogEx(IDD_SERVO_DIALOG, pParent)
 {
 	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
-	m_crBkgnd = RGB(255, 255, 255);
+	m_crBkgnd = APPDLG_BACKGROUND_COLOR;
 	m_hbrBkgnd = nullptr;
 	m_bShowLogWnd = FALSE;
 }
@@ -88,6 +90,7 @@
 	ON_WM_CTLCOLOR()
 	ON_WM_DESTROY()
 	ON_BN_CLICKED(IDC_BUTTON_LOG, &CServoDlg::OnBnClickedButtonLog)
+	ON_WM_SIZE()
 END_MESSAGE_MAP()
 
 
@@ -203,6 +206,8 @@
 	m_pGraph->SetBoxText(INDICATE_MEASUREMENT, "13", "Measurement");
 
 
+	UpdateLogBtn();
+	Resize();
 	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
 }
 
@@ -298,10 +303,42 @@
 void CServoDlg::OnBnClickedButtonLog()
 {
 	m_bShowLogWnd = !m_bShowLogWnd;
-	m_btnLog.SetFrameColor(BS_NORMAL, BTN_JOG_FRAME_NORMAL);
-	m_btnLog.SetFrameColor(BS_HOVER, BTN_JOG_FRAME_HOVER);
-	m_btnLog.SetFrameColor(BS_PRESS, BTN_JOG_FRAME_PRESS);
-	m_btnLog.SetBkgndColor(BS_NORMAL, BTN_JOG_BKGND_NORMAL);
-	m_btnLog.SetBkgndColor(BS_HOVER, BTN_JOG_BKGND_HOVER);
-	m_btnLog.SetBkgndColor(BS_PRESS, BTN_JOG_BKGND_PRESS);
+	UpdateLogBtn();
+}
+
+void CServoDlg::UpdateLogBtn()
+{
+	m_btnLog.SetFrameColor(BS_NORMAL, BTN_LOG_FRAME_NORMAL);
+	m_btnLog.SetFrameColor(BS_HOVER, BTN_LOG_FRAME_HOVER);
+	m_btnLog.SetFrameColor(BS_PRESS, BTN_LOG_FRAME_PRESS);
+	m_btnLog.SetBkgndColor(BS_NORMAL, m_bShowLogWnd ? BTN_LOG_BKGND_PRESS : BTN_LOG_BKGND_NORMAL);
+	m_btnLog.SetBkgndColor(BS_HOVER, BTN_LOG_BKGND_HOVER);
+	m_btnLog.SetBkgndColor(BS_PRESS, BTN_LOG_BKGND_PRESS);
+}
+
+void CServoDlg::OnSize(UINT nType, int cx, int cy)
+{
+	CDialogEx::OnSize(nType, cx, cy);
+	if (GetDlgItem(IDC_SERVO_GRAPH1) == nullptr) return;
+	Resize();
+}
+
+void CServoDlg::Resize()
+{
+	CRect rcClient, rcItem;
+	CWnd* pItem = nullptr;
+	int x, y;
+
+	x = 0;
+	y = 0;
+	pItem = GetDlgItem(IDC_SERVO_GRAPH1);
+	pItem->GetClientRect(&rcItem);
+	pItem->MoveWindow(x, y, rcItem.Width(), rcItem.Height());
+	y += rcItem.Height();
+	y += 8;
+
+	x = 8;
+	pItem = GetDlgItem(IDC_BUTTON_LOG);
+	pItem->GetClientRect(&rcItem);
+	pItem->MoveWindow(x, y, rcItem.Width(), rcItem.Height());
 }
diff --git a/SourceCode/Bond/Servo/ServoDlg.h b/SourceCode/Bond/Servo/ServoDlg.h
index d305005..30bea0c 100644
--- a/SourceCode/Bond/Servo/ServoDlg.h
+++ b/SourceCode/Bond/Servo/ServoDlg.h
@@ -14,6 +14,12 @@
 public:
 	CServoDlg(CWnd* pParent = NULL);	// 标准构造函数
 
+
+private:
+	void Resize();
+	void UpdateLogBtn();
+
+
 // 对话框数据
 #ifdef AFX_DESIGN_TIME
 	enum { IDD = IDD_SERVO_DIALOG };
@@ -47,4 +53,5 @@
 	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
 	afx_msg void OnDestroy();
 	afx_msg void OnBnClickedButtonLog();
+	afx_msg void OnSize(UINT nType, int cx, int cy);
 };

--
Gitblit v1.9.3