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