From 405bd36e812c3645e8d9d84700777e2eaeb036ec Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 30 五月 2025 16:18:17 +0800
Subject: [PATCH] Merge branch 'clh'
---
SourceCode/Bond/Servo/CMyStatusbar.cpp | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 117 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMyStatusbar.cpp b/SourceCode/Bond/Servo/CMyStatusbar.cpp
new file mode 100644
index 0000000..d85b341
--- /dev/null
+++ b/SourceCode/Bond/Servo/CMyStatusbar.cpp
@@ -0,0 +1,117 @@
+锘�// CMyStatusbar.cpp: 瀹炵幇鏂囦欢
+//
+
+#include "stdafx.h"
+#include "Servo.h"
+#include "CMyStatusbar.h"
+#include "afxdialogex.h"
+
+
+// CMyStatusbar 瀵硅瘽妗�
+
+IMPLEMENT_DYNAMIC(CMyStatusbar, CDialogEx)
+
+CMyStatusbar::CMyStatusbar(CWnd* pParent /*=nullptr*/)
+ : CDialogEx(IDD_STATUSBAR, pParent)
+{
+ m_crBkgnd = STATUSBAR_BK_NORMAL;
+}
+
+CMyStatusbar::~CMyStatusbar()
+{
+}
+
+void CMyStatusbar::DoDataExchange(CDataExchange* pDX)
+{
+ CDialogEx::DoDataExchange(pDX);
+}
+
+
+BEGIN_MESSAGE_MAP(CMyStatusbar, CDialogEx)
+ ON_WM_CTLCOLOR()
+ ON_WM_DESTROY()
+ ON_WM_SIZE()
+END_MESSAGE_MAP()
+
+
+// CMyStatusbar 娑堟伅澶勭悊绋嬪簭
+
+
+void CMyStatusbar::setBackgroundColor(COLORREF color)
+{
+ if (m_brBkgnd.GetSafeHandle() != nullptr) {
+ m_brBkgnd.DeleteObject();
+ }
+
+ m_brBkgnd.CreateSolidBrush(color);
+ Invalidate();
+ UpdateWindow();
+}
+
+void CMyStatusbar::setForegroundColor(COLORREF cr)
+{
+ m_crForeground = cr;
+ Invalidate();
+ UpdateWindow();
+}
+
+void CMyStatusbar::setRunTimeText(const char* pszText)
+{
+ SetDlgItemText(IDC_LABEL_RUNTIME, pszText);
+}
+
+BOOL CMyStatusbar::OnInitDialog()
+{
+ CDialogEx::OnInitDialog();
+
+ // TODO: 鍦ㄦ娣诲姞棰濆鐨勫垵濮嬪寲
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
+}
+
+HBRUSH CMyStatusbar::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
+{
+ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
+
+ // TODO: 鍦ㄦ鏇存敼 DC 鐨勪换浣曠壒鎬�
+
+ if (nCtlColor == CTLCOLOR_STATIC) {
+ pDC->SetBkMode(TRANSPARENT);
+ pDC->SetBkColor(m_crBkgnd);
+ pDC->SetTextColor(m_crForeground);
+ }
+
+ if (m_brBkgnd.GetSafeHandle() == nullptr) {
+ m_brBkgnd.CreateSolidBrush(m_crBkgnd);
+ }
+
+ return (HBRUSH)m_brBkgnd;
+}
+
+void CMyStatusbar::OnDestroy()
+{
+ CDialogEx::OnDestroy();
+
+ // TODO: 鍦ㄦ澶勬坊鍔犳秷鎭鐞嗙▼搴忎唬鐮�
+}
+
+void CMyStatusbar::OnSize(UINT nType, int cx, int cy)
+{
+ CDialogEx::OnSize(nType, cx, cy);
+ if (nullptr == GetDlgItem(IDC_LABEL_RUNTIME)) return;
+ Resize();
+}
+
+void CMyStatusbar::Resize()
+{
+ CRect rcClient, rcItem;
+ CWnd* pItem = nullptr;
+ int x;
+ GetClientRect(&rcClient);
+
+ x = 120;
+ pItem = GetDlgItem(IDC_LABEL_RUNTIME);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+}
--
Gitblit v1.9.3