From 0393d1ff2ebc378b3c4cff9b45f72ebc8a4ea516 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 03 六月 2025 15:13:42 +0800
Subject: [PATCH] Merge branch 'master' into liuyang
---
SourceCode/Bond/Servo/CMyStatusbar.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMyStatusbar.cpp b/SourceCode/Bond/Servo/CMyStatusbar.cpp
index d85b341..d0ab4fe 100644
--- a/SourceCode/Bond/Servo/CMyStatusbar.cpp
+++ b/SourceCode/Bond/Servo/CMyStatusbar.cpp
@@ -43,7 +43,15 @@
m_brBkgnd.DeleteObject();
}
+ m_crBkgnd = color;
m_brBkgnd.CreateSolidBrush(color);
+ m_btnCurTask.SetFaceColor(m_crBkgnd);
+ m_btnCurTask.SetFrameColor(m_crBkgnd);
+ m_btnCurTask.SetFrameColor(BS_HOVER, CColorTransfer::ApproximateColor(m_crBkgnd, 0.05));
+ m_btnCurTask.SetFrameColor(BS_PRESS, CColorTransfer::ApproximateColor(m_crBkgnd, 0.12));
+ m_btnCurTask.SetBkgndColor(BS_HOVER, CColorTransfer::ApproximateColor(m_crBkgnd, 0.05));
+ m_btnCurTask.SetBkgndColor(BS_PRESS, CColorTransfer::ApproximateColor(m_crBkgnd, 0.12));
+
Invalidate();
UpdateWindow();
}
@@ -51,6 +59,8 @@
void CMyStatusbar::setForegroundColor(COLORREF cr)
{
m_crForeground = cr;
+ m_btnCurTask.SetTextColor(m_crForeground);
+
Invalidate();
UpdateWindow();
}
@@ -60,11 +70,23 @@
SetDlgItemText(IDC_LABEL_RUNTIME, pszText);
}
+void CMyStatusbar::setCurTaskBtnText(const char* pszText)
+{
+ SetDlgItemText(IDC_BUTTON_ROBOTTASK, pszText);
+}
+
BOOL CMyStatusbar::OnInitDialog()
{
CDialogEx::OnInitDialog();
- // TODO: 鍦ㄦ娣诲姞棰濆鐨勫垵濮嬪寲
+
+ m_btnCurTask.SubclassDlgItem(IDC_BUTTON_ROBOTTASK, this);
+ // m_btnCurTask.SetIcon(hIcon1, hIcon1, 24);
+ m_btnCurTask.SetFaceColor(m_crBkgnd);
+ m_btnCurTask.SetFrameColor(m_crBkgnd);
+ m_btnCurTask.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
+ m_btnCurTask.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
+
return TRUE; // return TRUE unless you set the focus to a control
// 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
@@ -96,6 +118,22 @@
// TODO: 鍦ㄦ澶勬坊鍔犳秷鎭鐞嗙▼搴忎唬鐮�
}
+BOOL CMyStatusbar::OnCommand(WPARAM wParam, LPARAM lParam)
+{
+ CWnd* pItem;
+ CRect rcItem;
+
+ switch (LOWORD(wParam)) {
+ case IDC_BUTTON_ROBOTTASK:
+ pItem = GetDlgItem(IDC_BUTTON_ROBOTTASK);
+ pItem->GetWindowRect(rcItem);
+ GetParent()->SendMessage(ID_MSG_STATUSBAR_BTN_CLICKED, rcItem.left, LOWORD(wParam));
+ break;
+ }
+
+ return CDialogEx::OnCommand(wParam, lParam);
+}
+
void CMyStatusbar::OnSize(UINT nType, int cx, int cy)
{
CDialogEx::OnSize(nType, cx, cy);
@@ -110,8 +148,21 @@
int x;
GetClientRect(&rcClient);
- x = 120;
+ x = 20;
pItem = GetDlgItem(IDC_LABEL_RUNTIME);
pItem->GetClientRect(rcItem);
pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
-}
+ x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_LABEL_CUR_TASK_L);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_BUTTON_ROBOTTASK);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+}
\ No newline at end of file
--
Gitblit v1.9.3