使用说明
-
新建对话框,将
GridCtrl
文件夹放入项目目录中。
文件下载地址
文件夹内容:
-
将所有内容添加到资源管理器中。
在dialog的xxx.h
中添加头文件:
#include "GridCtrl_src/GridCtrl.h"
文件说明:
gridctrl.cpp
,gridctrl.h
Grid控件资源文件和头文件
gridcellbase.cpp
,gridcellbase.h
单元格的基础类
gridcell.cpp
,gridcell.h
单元格的默认执行文件
CellRange.h
CcellID和CcellRange类的定义
MemDC.h
Keith Rule’s的直接存储类
InPlaceEdit.cpp,
InPlaceEdit.h
定位编辑窗口的源文件和头文件
GridDropTarget.cpp
,GridDropTarget.h
Grid容器的drag和drop对象 只有在gridctrl.h中没有定义 GRIDCONTROL_NO_DRAGDROP的时候才有必要使用。
Titletip.cpp
,Titletip.h
从Zafir Anjum那里的到的单元格标题提示. 只有在gridctrl.h中没有定义 GRIDCONTROL_NO_TITLETIPS 的时候才有必要使用
-
在工具箱中取出
Custom Control
控件。
把Custom Control
的Class设置为MFCGridCtrl
添加变量,变量类型为CGridCtrl
-
在对话框初始化程序中添加代码测试。
CRect cr;
m_Grid.GetClientRect(&cr);
int nRowNum = 6;
m_Grid.SetColumnCount(6);//设置6列
m_Grid.SetRowCount(nRowNum);//设置6行
m_Grid.SetFixedRowCount(1);
CString rowName, colName;
for (int i = 0; i < 6; i++)
{
m_Grid.SetColumnWidth(i, cr.Width() / 12);//设置列宽
rowName.Format(_T("第%d行"), i);
colName.Format(_T("第%d列"), i);
m_Grid.SetItemText(0, i, colName);//设置内容
if (i < nRowNum) {
m_Grid.SetRowHeight(i, cr.Height() / nRowNum);//设置行高
//m_Grid.SetItemText(i, 0, rowName);
}
}
m_Grid.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
生成的Grid: