From 0026ea3b1a6588f3e40b8276162f54b2a22bc7ae Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期一, 19 一月 2026 14:32:27 +0800
Subject: [PATCH] 1.修复 : 多 PJ 支持仍是单槽实现:isProcessJobsEmpty/validate 仍只允许 1 个 PJ/CJ;Host 一次下多 PJ 或运行中追加 PJ 会被拒绝/无明确反馈。需要:协议上明示只支持 1,或补齐 ACK/NAK 与队列管理、PJobSpace 动态更新。
---
SourceCode/Bond/Servo/BlButton.cpp | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/SourceCode/Bond/Servo/BlButton.cpp b/SourceCode/Bond/Servo/BlButton.cpp
index 2bddd2b..ff75530 100644
--- a/SourceCode/Bond/Servo/BlButton.cpp
+++ b/SourceCode/Bond/Servo/BlButton.cpp
@@ -36,6 +36,7 @@
m_hIcon[1] = nullptr;
m_nIconWidth = 0;
m_nFlashState = 0;
+ m_bTextRight = FALSE;
}
@@ -159,6 +160,11 @@
return m_nFlashState != 0;
}
+void CBlButton::SetTextRight()
+{
+ m_bTextRight = TRUE;
+}
+
void CBlButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
HDC hDC = lpDrawItemStruct->hDC;
@@ -200,15 +206,24 @@
HICON hIcon = this->IsWindowEnabled() ? m_hIcon[0] : m_hIcon[01];
if (hIcon != nullptr) {
int xIcon = (rcClient.right - rcClient.top - m_nIconWidth) / 2;
+ if (m_bTextRight) {
+ xIcon = 15;
+ }
+
if (m_hMenu != nullptr) xIcon -= 10;
int yIcon = (rcClient.bottom - rcClient.top - m_nIconWidth) / 2;
- if (nTextLen != 0) {
+ if (nTextLen != 0 && !m_bTextRight) {
yIcon -= 8;
}
DrawIconEx(hDC, xIcon, yIcon,
hIcon, m_nIconWidth, m_nIconWidth, 0, 0, DI_NORMAL);
- rcText.top = yIcon + m_nIconWidth + 2;
+ if (m_bTextRight) {
+ rcText.left = xIcon + m_nIconWidth + 2;
+ }
+ else {
+ rcText.top = yIcon + m_nIconWidth + 2;
+ }
}
@@ -223,18 +238,19 @@
::SetBkMode(hDC, TRANSPARENT);
::SetTextColor(hDC, m_crText[state]);
+ UINT format1 = m_bTextRight ? DT_LEFT : DT_CENTER;
if ((BS_MULTILINE & GetStyle()) == BS_MULTILINE) {
CRect rcBound;
int height = DrawTextA(hDC, szText, (int)strlen(szText), &rcBound, DT_CENTER | DT_CALCRECT | DT_EDITCONTROL);
rcText.top = rcBound.top + (rcClient.bottom - rcClient.top - height) / 2;
rcText.bottom = rcText.top + height;
- DrawTextA(hDC, szText, (int)strlen(szText), &rcText, DT_CENTER | DT_EDITCONTROL);
+ DrawTextA(hDC, szText, (int)strlen(szText), &rcText, format1 | DT_EDITCONTROL);
}
else {
if (m_hMenu != nullptr) {
rcText.right -= (10);
}
- DrawTextA(hDC, szText, (int)strlen(szText), &rcText, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
+ DrawTextA(hDC, szText, (int)strlen(szText), &rcText, format1 | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
}
::SelectObject(hDC, hOldFont);
--
Gitblit v1.9.3