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/JobSlotGrid.cpp | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/SourceCode/Bond/Servo/JobSlotGrid.cpp b/SourceCode/Bond/Servo/JobSlotGrid.cpp
index 46551e6..32243a9 100644
--- a/SourceCode/Bond/Servo/JobSlotGrid.cpp
+++ b/SourceCode/Bond/Servo/JobSlotGrid.cpp
@@ -1,5 +1,6 @@
锘�#include "stdafx.h"
#include "JobSlotGrid.h"
+#include "ServoMemDC.h"
#ifdef _DEBUG
#define new DEBUG_NEW
@@ -221,13 +222,15 @@
void CJobSlotGrid::OnPaint() {
CPaintDC dc(this);
- DrawGrid(&dc);
+ CServoMemDC memDC(&dc);
+ DrawGrid(&memDC);
}
void CJobSlotGrid::DrawGrid(CDC* pDC)
{
CRect rect;
GetClientRect(&rect);
+ pDC->FillSolidRect(&rect, ::GetSysColor(COLOR_3DFACE)); // 瀹夊叏鑳屾櫙鑹诧紝浠呭唴瀛樼粯鍒�
if (m_nCols == 0 || m_nRows == 0) {
return;
@@ -257,10 +260,12 @@
// 閫夋嫨濉厖棰滆壊
COLORREF fillColor = m_vSlotStatus[i][j] ? m_colorHasJob : m_colorNoJob;
if (IsSlotClickable(i, j)) {
- if (bIsClicking)
+ if (bIsClicking) {
fillColor = COLOR_CLICK;
- else if (bIsHover)
+ }
+ else if (bIsHover) {
fillColor = COLOR_HOVER;
+ }
}
// 缁樺埗鑳屾櫙锛堥珮鏁堟浛浠� CBrush锛�
@@ -269,6 +274,26 @@
// 缁樺埗杈规
pDC->DrawEdge(&cellRect, EDGE_SUNKEN, BF_RECT);
+ // 濡傛灉鏄彲鐐瑰嚮鏍煎瓙锛屽湪宸︿笂瑙掔敾涓�涓皬鍦嗙偣
+ if (IsSlotClickable(i, j)) {
+ constexpr int DOT_RADIUS = 3;
+ int cx = cellRect.left + 5;
+ int cy = cellRect.top + 5;
+
+ // 淇濆瓨鏃х瑪鍜屽埛瀛�
+ CBrush brushDot(RGB(0, 120, 215));
+ CBrush* pOldBrush = pDC->SelectObject(&brushDot);
+ CPen penDot(PS_SOLID, 1, RGB(0, 120, 215));
+ CPen* pOldPen = pDC->SelectObject(&penDot);
+
+ // 缁樺埗鍦嗙偣
+ pDC->Ellipse(cx - DOT_RADIUS, cy - DOT_RADIUS, cx + DOT_RADIUS, cy + DOT_RADIUS);
+
+ // 鎭㈠
+ pDC->SelectObject(pOldBrush);
+ pDC->SelectObject(pOldPen);
+ }
+
// 鑾峰彇鏂囧瓧锛堝畨鍏級
CString strText;
if (i < m_vSlotText.size() && j < m_vSlotText[i].size()) {
--
Gitblit v1.9.3