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/ServoDlg.cpp |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

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());
 }

--
Gitblit v1.9.3