最近有个项目需要用grid ctrl 呈现多种控件类型, 而我也一直用的是codeproject上的 MFC Grid Control
, 这个控件很强大, 而且易于扩展, 源码也提供多种类型的控件, 包括checkbox, combobox, 等等。
下面就给出如何为CGridCtrl添加自己的控件类型方法, 本文是button控件
CGridCellButton头文件
purpose: Create button cell
*********************************************************************/
#include "../GridCtrl_src/GridCell.h"
class CGridCellButton : public CGridCell
{
friend class CGridCtrl;
DECLARE_DYNCREATE(CGridCellButton)
public:
CGridCellButton(void);
~CGridCellButton(void);
public:
virtual BOOL Draw(CDC* pDC, int nRow, int nCol, CRect rect, BOOL bEraseBkgnd = TRUE);
protected:
virtual void OnClick( CPoint PointCellRelative);
protected:
CRect m_rect;
BOOL m_bPushing;
}
CGridCellButton实现文件
使用方法:
效果如下: