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/NewCellTypes/GridCellCombo.h | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 178 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/GridControl/NewCellTypes/GridCellCombo.h b/SourceCode/Bond/Servo/GridControl/NewCellTypes/GridCellCombo.h
new file mode 100644
index 0000000..68fc54e
--- /dev/null
+++ b/SourceCode/Bond/Servo/GridControl/NewCellTypes/GridCellCombo.h
@@ -0,0 +1,178 @@
+#if !defined(AFX_GRIDCELLCOMBO_H__ECD42822_16DF_11D1_992F_895E185F9C72__INCLUDED_)
+#define AFX_GRIDCELLCOMBO_H__ECD42822_16DF_11D1_992F_895E185F9C72__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+/////////////////////////////////////////////////////////////////////////////
+// GridCellCombo.h : header file
+//
+// MFC Grid Control - Grid combo cell class header file
+//
+// Written by Chris Maunder <chris@codeproject.com>
+// Copyright (c) 1998-2005. All Rights Reserved.
+//
+// This code may be used in compiled form in any way you desire. This
+// file may be redistributed unmodified by any means PROVIDING it is
+// not sold for profit without the authors written consent, and
+// providing that this notice and the authors name and all copyright
+// notices remains intact.
+//
+// An email letting me know how you are using it would be nice as well.
+//
+// This file is provided "as is" with no expressed or implied warranty.
+// The author accepts no liability for any damage/loss of business that
+// this product may cause.
+//
+// For use with CGridCtrl v2.10
+//
+//////////////////////////////////////////////////////////////////////
+
+
+#include "GridCell.h"
+
+
+class CGridCellCombo : public CGridCell
+{
+ friend class CGridCtrl;
+ DECLARE_DYNCREATE(CGridCellCombo)
+
+public:
+ CGridCellCombo();
+
+// editing cells
+public:
+ virtual BOOL Edit(int nRow, int nCol, CRect rect, CPoint point, UINT nID, UINT nChar);
+ virtual CWnd* GetEditWnd() const;
+ virtual void EndEdit();
+
+// Operations
+public:
+ virtual CSize GetCellExtent(CDC* pDC);
+
+// CGridCellCombo specific calls
+public:
+ void SetOptions(const CStringArray& ar);
+ void SetStyle(DWORD dwStyle) { m_dwStyle = dwStyle; }
+ DWORD GetStyle() { return m_dwStyle; }
+
+protected:
+ virtual BOOL Draw(CDC* pDC, int nRow, int nCol, CRect rect, BOOL bEraseBkgnd = TRUE);
+
+ CStringArray m_Strings;
+ DWORD m_dwStyle;
+};
+
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CComboEdit window
+
+#define IDC_COMBOEDIT 1001
+
+class CComboEdit : public CEdit
+{
+// Construction
+public:
+ CComboEdit();
+
+// Attributes
+public:
+
+// Operations
+public:
+
+// Overrides
+ // ClassWizard generated virtual function overrides
+ //{{AFX_VIRTUAL(CComboEdit)
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
+ //}}AFX_VIRTUAL
+
+// Implementation
+public:
+ virtual ~CComboEdit();
+
+ // Generated message map functions
+protected:
+ //{{AFX_MSG(CComboEdit)
+ afx_msg void OnKillFocus(CWnd* pNewWnd);
+ afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
+ afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
+ //}}AFX_MSG
+
+ DECLARE_MESSAGE_MAP()
+};
+
+/////////////////////////////////////////////////////////////////////////////
+// CInPlaceList window
+
+class CInPlaceList : public CComboBox
+{
+ friend class CComboEdit;
+
+// Construction
+public:
+ CInPlaceList(CWnd* pParent, // parent
+ CRect& rect, // dimensions & location
+ DWORD dwStyle, // window/combobox style
+ UINT nID, // control ID
+ int nRow, int nColumn, // row and column
+ COLORREF crFore, COLORREF crBack, // Foreground, background colour
+ CStringArray& Items, // Items in list
+ CString sInitText, // initial selection
+ UINT nFirstChar); // first character to pass to control
+
+// Attributes
+public:
+ CComboEdit m_edit; // subclassed edit control
+
+// Operations
+public:
+
+// Overrides
+ // ClassWizard generated virtual function overrides
+ //{{AFX_VIRTUAL(CInPlaceList)
+ protected:
+ virtual void PostNcDestroy();
+ //}}AFX_VIRTUAL
+
+// Implementation
+public:
+ virtual ~CInPlaceList();
+ void EndEdit();
+
+protected:
+ int GetCorrectDropWidth();
+
+// Generated message map functions
+protected:
+ //{{AFX_MSG(CInPlaceList)
+ afx_msg void OnKillFocus(CWnd* pNewWnd);
+ afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
+ afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
+ afx_msg void OnDropdown();
+ afx_msg void OnSelChange();
+ afx_msg UINT OnGetDlgCode();
+ afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
+ //}}AFX_MSG
+ //afx_msg void OnSelendOK();
+
+ DECLARE_MESSAGE_MAP()
+
+private:
+ int m_nNumLines;
+ CString m_sInitText;
+ int m_nRow;
+ int m_nCol;
+ UINT m_nLastChar;
+ BOOL m_bExitOnArrows;
+ COLORREF m_crForeClr, m_crBackClr;
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_GRIDCELLCOMBO_H__ECD42822_16DF_11D1_992F_895E185F9C72__INCLUDED_)
--
Gitblit v1.9.3