From c112cf54a238afa473e7eb0ea6298e06f4957658 Mon Sep 17 00:00:00 2001 From: kojingeun <diteam.co.kr> Date: 금, 24 11월 2023 14:44:30 +0900 Subject: [PATCH] Merge branch 'feature/#4539_CF_AOI_Review_Log_미출력_현상_개선' into develop --- ReviewHistory/include/akGridCtrl/GridCell.h | 143 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 143 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akGridCtrl/GridCell.h b/ReviewHistory/include/akGridCtrl/GridCell.h new file mode 100644 index 0000000..335e6a6 --- /dev/null +++ b/ReviewHistory/include/akGridCtrl/GridCell.h @@ -0,0 +1,143 @@ +///////////////////////////////////////////////////////////////////////////// +// GridCell.h : header file +// +// MFC Grid Control - Grid 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.20+ +// +////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_GRIDCELL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_) +#define AFX_GRIDCELL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 + +class CakGridCtrl; +#include "GridCellBase.h" + +// Each cell contains one of these. Fields "row" and "column" are not stored since we +// will usually have acces to them in other ways, and they are an extra 8 bytes per +// cell that is probably unnecessary. + +class CGridCell : public CGridCellBase +{ + friend class CakGridCtrl; + DECLARE_DYNCREATE(CGridCell) + +// Construction/Destruction +public: + CGridCell(); + virtual ~CGridCell(); + +// Attributes +public: + void operator=(const CGridCell& cell); + + virtual void SetText(LPCTSTR szText) { m_strText = szText; } + virtual void SetImage(int nImage) { m_nImage = nImage; } + virtual void SetData(LPARAM lParam) { m_lParam = lParam; } + virtual void SetGrid(CakGridCtrl* pGrid) { m_pGrid = pGrid; } + // virtual void SetState(const DWORD nState); - use base class version + virtual void SetFormat(DWORD nFormat) { m_nFormat = nFormat; } + virtual void SetTextClr(COLORREF clr) { m_crFgClr = clr; } + virtual void SetBackClr(COLORREF clr) { m_crBkClr = clr; } + virtual void SetFont(const LOGFONT* plf); + virtual void SetMargin(UINT nMargin) { m_nMargin = nMargin; } + virtual CWnd* GetEditWnd() const { return m_pEditWnd; } + virtual void SetCoords(int /*nRow*/, int /*nCol*/) {} // don't need to know the row and + // column for base implementation + + virtual LPCTSTR GetText() const { return (m_strText.IsEmpty())? _T("") : LPCTSTR(m_strText); } + virtual int GetImage() const { return m_nImage; } + virtual LPARAM GetData() const { return m_lParam; } + virtual CakGridCtrl* GetGrid() const { return m_pGrid; } + // virtual DWORD GetState() const - use base class + virtual DWORD GetFormat() const; + virtual COLORREF GetTextClr() const { return m_crFgClr; } // TODO: change to use default cell + virtual COLORREF GetBackClr() const { return m_crBkClr; } + virtual LOGFONT* GetFont() const; + virtual CFont* GetFontObject() const; + virtual UINT GetMargin() const; + + virtual BOOL IsEditing() const { return m_bEditing; } + virtual BOOL IsDefaultFont() const { return (m_plfFont == NULL); } + virtual void Reset(); + +// editing cells +public: + virtual BOOL Edit(int nRow, int nCol, CRect rect, CPoint point, UINT nID, UINT nChar); + virtual void EndEdit(); +protected: + virtual void OnEndEdit(); + +protected: + CString m_strText; // Cell text (or binary data if you wish...) + LPARAM m_lParam; // 32-bit value to associate with item + int m_nImage; // Index of the list view item뭩 icon + DWORD m_nFormat; + COLORREF m_crFgClr; + COLORREF m_crBkClr; + LOGFONT* m_plfFont; + UINT m_nMargin; + + BOOL m_bEditing; // Cell being edited? + + CakGridCtrl* m_pGrid; // Parent grid control + CWnd* m_pEditWnd; +}; + +// This class is for storing grid default values. It's a little heavy weight, so +// don't use it in bulk +class CGridDefaultCell : public CGridCell +{ + DECLARE_DYNCREATE(CGridDefaultCell) + +// Construction/Destruction +public: + CGridDefaultCell(); + virtual ~CGridDefaultCell(); + +public: + virtual DWORD GetStyle() const { return m_dwStyle; } + virtual void SetStyle(DWORD dwStyle) { m_dwStyle = dwStyle; } + virtual int GetWidth() const { return m_Size.cx; } + virtual int GetHeight() const { return m_Size.cy; } + virtual void SetWidth(int nWidth) { m_Size.cx = nWidth; } + virtual void SetHeight(int nHeight) { m_Size.cy = nHeight; } + + // Disable these properties + virtual void SetData(LPARAM /*lParam*/) { ASSERT(FALSE); } + virtual void SetState(DWORD /*nState*/) { ASSERT(FALSE); } + virtual DWORD GetState() const { return CGridCell::GetState()|GVIS_READONLY; } + virtual void SetCoords( int /*row*/, int /*col*/) { ASSERT(FALSE); } + virtual void SetFont(const LOGFONT* /*plf*/); + virtual LOGFONT* GetFont() const; + virtual CFont* GetFontObject() const; + +protected: + CSize m_Size; // Default Size + CFont m_Font; // Cached font + DWORD m_dwStyle; // Cell Style - unused +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_GRIDCELL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_) -- Gitblit v1.9.3