1. 引入
- 新建一基于对话框的工程。并将必要的CGRID CTRL文件加入工程目录。
- 在对话框上放上一个CURSTOMER CTROL(就是一个人头的那个控件),在属性的CLASS上输入MFCGridCtrl,ID为 IDC_GRID
- 在yourDlg.h 中加入
#include "GridCtrl_src/GridCtrl.h"
- 在yourDlg.h 中声明 CGridCtrl m_Grid;
- 在yourDlg.cpp 内 void CyourDlg::DoDataExchange(CDataExchange* pDX) 下加入
DDX_Control(pDX, IDC_GRID, m_Grid); // associate the grid window with a C++ object
用于传递消息。
- 最后,通过ClassWizard 为CyourDlg 加入Notify 函数。写法固定。如下:
BOOL CSheetexDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
if (wParam == (WPARAM)m_Grid.GetDlgCtrlID())
{
*pResult = 1;
GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam;
pDispInfo->item.strText.Format("row%d,col%d",pDispInfo->item.row, pDispInfo->item.col);
return TRUE;
}
return CDialog::OnNotify(wParam, lParam, pResult);
}