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