From 863f21995955fb3e9aa471430218967d4e642c27 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 29 五月 2025 16:11:24 +0800
Subject: [PATCH] Merge branch 'liuyang'
---
SourceCode/Bond/Servo/GridControl/GridCellButton.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/GridControl/GridCellButton.cpp b/SourceCode/Bond/Servo/GridControl/GridCellButton.cpp
new file mode 100644
index 0000000..f922942
--- /dev/null
+++ b/SourceCode/Bond/Servo/GridControl/GridCellButton.cpp
@@ -0,0 +1,46 @@
+#include "stdafx.h"
+#include "GridCell.h"
+#include "GridCtrl.h"
+#include "GridCellButton.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static const char* THIS_FILE = __FILE__;
+#endif
+
+IMPLEMENT_DYNCREATE(CGridCellButton, CGridCell)
+ CGridCellButton::CGridCellButton(void)
+{
+ m_bPushing = FALSE;
+}
+
+CGridCellButton::~CGridCellButton(void)
+{
+}
+
+BOOL CGridCellButton::Draw(CDC* pDC, int nRow, int nCol, CRect rect, BOOL bEraseBkgnd /* = TRUE */)
+{
+ m_rect = rect;
+ pDC->SetBkMode(TRANSPARENT);
+ rect.DeflateRect(GetMargin(), 0);
+ CFont* pOldFont = pDC->SelectObject(GetFontObject());
+ pDC->DrawFrameControl(rect, DFC_BUTTON, m_bPushing ? DFCS_BUTTONPUSH | DFCS_PUSHED : DFCS_BUTTONPUSH);
+ COLORREF ColorCurrent = pDC->GetTextColor();
+ pDC->SetTextColor(::GetSysColor(COLOR_BTNTEXT));
+ pDC->DrawText(GetText(), -1, rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
+ pDC->SetTextColor(ColorCurrent);
+ return TRUE;
+}
+
+void CGridCellButton::OnClick(CPoint PointCellRelative)
+{
+ m_bPushing = !m_bPushing;
+ GetGrid()->InvalidateRect(m_rect);
+}
+
+void CGridCellButton::OnMouseLeave()
+{
+ m_bPushing = FALSE;
+ GetGrid()->InvalidateRect(m_rect);
+}
\ No newline at end of file
--
Gitblit v1.9.3