From bc7f1c4e028e69be51079b59dae4ae5c4d43f5bb Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期六, 31 一月 2026 21:54:56 +0800
Subject: [PATCH] 1.状态指示图,目前灰色表示掉线,绿色表示在线。增加Slot的小点表示有没有料,及加工状态 。 2.增加图示
---
SourceCode/Bond/Servo/CMyStatusbar.cpp | 76 ++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMyStatusbar.cpp b/SourceCode/Bond/Servo/CMyStatusbar.cpp
index 3432829..7aa389a 100644
--- a/SourceCode/Bond/Servo/CMyStatusbar.cpp
+++ b/SourceCode/Bond/Servo/CMyStatusbar.cpp
@@ -70,9 +70,37 @@
SetDlgItemText(IDC_LABEL_RUNTIME, pszText);
}
+void CMyStatusbar::setJobText(const char* pszText)
+{
+ SetDlgItemText(IDC_LABEL_JOBSTATE, pszText);
+}
+
void CMyStatusbar::setCurTaskBtnText(const char* pszText)
{
SetDlgItemText(IDC_BUTTON_ROBOTTASK, pszText);
+}
+
+void CMyStatusbar::setCimBtnText(const char* pszText)
+{
+ SetDlgItemText(IDC_BUTTON_CIM, pszText);
+}
+
+void CMyStatusbar::setCurTaskBtnColors(COLORREF face, COLORREF frame, COLORREF text)
+{
+ m_btnCurTask.SetFaceColor(face);
+ m_btnCurTask.SetFrameColor(frame);
+ m_btnCurTask.SetTextColor(text);
+ Invalidate();
+ UpdateWindow();
+}
+
+void CMyStatusbar::setCimBtnColors(COLORREF face, COLORREF frame, COLORREF text)
+{
+ m_btnCim.SetFaceColor(face);
+ m_btnCim.SetFrameColor(frame);
+ m_btnCim.SetTextColor(text);
+ Invalidate();
+ UpdateWindow();
}
BOOL CMyStatusbar::OnInitDialog()
@@ -86,7 +114,14 @@
m_btnCurTask.SetFrameColor(m_crBkgnd);
m_btnCurTask.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
m_btnCurTask.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
+ m_btnCurTask.SetTextColor(m_crForeground);
+ m_btnCim.SubclassDlgItem(IDC_BUTTON_CIM, this);
+ m_btnCim.SetFaceColor(m_crBkgnd);
+ m_btnCim.SetFrameColor(m_crBkgnd);
+ m_btnCim.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
+ m_btnCim.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
+ m_btnCim.SetTextColor(m_crForeground);
return TRUE; // return TRUE unless you set the focus to a control
// 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
@@ -116,6 +151,27 @@
CDialogEx::OnDestroy();
// 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;
+ case IDC_BUTTON_CIM:
+ pItem = GetDlgItem(IDC_BUTTON_CIM);
+ 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)
@@ -149,4 +205,24 @@
pItem->GetClientRect(rcItem);
pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_LABEL_CIM);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_BUTTON_CIM);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_LABEL_JOBSTATE);
+ if (pItem != nullptr) {
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+ }
}
--
Gitblit v1.9.3