📄 gridcelllite.h
字号:
/////////////////////////////////////////////////////////////////////////////
// GridCell.h : header file
//
// MFC Grid Control - Grid cell class header file
//
// Written by Chris Maunder <cmaunder@mail.com>
// Copyright (c) 1998-2000. 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
//
//////////////////////////////////////////////////////////////////////
#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 CGridCtrl;
#include "GridCellBase.h"
//#define GRIDCTRL_MINSIZE
#ifdef GRIDCTRL_MINSIZE
class CGridCellAttr
{
public:
virtual DWORD GetFormat() { return m_nFormat; }
virtual COLORREF GetTextClr() { return m_crFgClr; }
virtual COLORREF GetBackClr() { return m_crBkClr; }
virtual const LOGFONT* GetFont() { return &m_lfFont; }
virtual UINT GetMargin() { return m_nMargin; }
static DWORD GetDefFormat() { return m_nDefFormat; }
static COLORREF GetDefTextClr() { return m_crDefFgClr; }
static COLORREF GetDefBackClr() { return m_crDefBkClr; }
static const LOGFONT* GetDefFont() { return &m_lfFont; }
static UINT GetDefMargin() { return m_nMargin; }
protected:
DWORD m_nFormat; // Cell format
COLORREF m_crBkClr; // Background colour (or CLR_DEFAULT)
COLORREF m_crFgClr; // Forground colour (or CLR_DEFAULT)
LOGFONT m_lfFont; // Cell font
UINT m_nMargin; // Internal cell margin
protected:
static DWORD m_nDefFormat; // Cell format
static COLORREF m_crDefBkClr; // Background colour (or CLR_DEFAULT)
static COLORREF m_crDefFgClr; // Forground colour (or CLR_DEFAULT)
static LOGFONT m_lfDefFont; // Cell font
static UINT m_nDefMargin; // Internal cell margin
};
#endif
// 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 CGridCtrl;
DECLARE_DYNCREATE(CGridCell)
// Construction/Destruction
public:
CGridCell();
virtual ~CGridCell();
// Attributes
public:
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(CGridCtrl* pGrid) { m_pGrid = pGrid; }
// virtual void SetState(DWORD nState); - use base class version
virtual void SetFormat(DWORD nFormat);
virtual void SetTextClr(COLORREF clr);
virtual void SetBackClr(COLORREF clr);
virtual void SetFont(const LOGFONT* plf);
virtual void SetMargin( UINT nMargin);
virtual void SetCoords( int /* nRow */, int /* nCol */) {} // don't need to know the row and
// column for base implementation
virtual LPCTSTR GetText() { return (m_strText.IsEmpty())? _T("") : m_strText; }
virtual int GetImage() { return m_nImage; }
virtual LPARAM GetData() { return m_lParam; }
virtual CGridCtrl* GetGrid() { return m_pGrid; }
// virtual DWORD GetState() - use base class
virtual DWORD GetFormat();
virtual COLORREF GetTextClr();
virtual COLORREF GetBackClr();
virtual const LOGFONT* GetFont();
virtual UINT GetMargin();
virtual BOOL IsEditing() { return m_bEditing; }
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
#ifdef GRIDCTRL_MINSIZE
CGridCellAttr* m_pAttr; // Less commonly used attributes. NULL if defaults are used
#else
DWORD m_nFormat;
COLORREF m_crFgClr;
COLORREF m_crBkClr;
LOGFONT m_lfFont;
UINT m_nMargin;
#endif
BOOL m_bEditing; // Cell being edited?
CGridCtrl* m_pGrid; // Parent grid control
CWnd* m_pEditWnd;
};
//{{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_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -