首页 > 代码库 > CGridCtrl在MFC中的使用(一)

CGridCtrl在MFC中的使用(一)

  CGridCtrl控件是开源的,可在CodePlex和CodeProject上搜索找到,是VC++中用于显示表格数据的控件。基本功能包括:表格显示,单元格的编辑,单元格颜色设置,鼠标事件的响应,单元格内嵌入图片、CheckBox、ComboBox、Bitmap、Button等。

  CodeProject中的链接http://www.codeproject.com/Articles/8/MFC-Grid-control

  利用拖动控件在对话框中使用CGridCtrl

  使用CGridCtrl需要将源码中的将GridCtrl_src文件夹和NewCellTypes内的所有文件添加到自己的工程当中。

  创建基于对话框的MFC工程,选择Custom Control拖动到对话框上,如下图所示

  技术分享

  在控件的属性对话框中设置Class属性为MFCGridCtrl(必须),控件ID设置为IDC_GRID(可自由设定),如下图所示

 

  接下来利用ClassWizard为控件关联变量,变量类型为CGridCtrl(图中的CGridCtrlEx为CGridCtrl的派生类,是自己用于添加的项目需要的额外功能的类),控件类型为MFCGridCtrl,

 

  然后就可以像使用普通控件那样使用CGridCtrl了。

  利用拖动控件在对话框中使用CGridCtrl

  在对话框上添加一个PictureBox类型的空间,控件ID设置为IDC_GRID,该控件用于确定CGridCtrl控件在对话框上的显示位置,如图所示。

  技术分享

 

  在对话框类的头文件中增加CGridCtrl的指针类型变量

 

1 CGridCtrl* m_pGrid;

 

  在OnInitDialog()函数中增加如下代码

 

1     int captionHeight = ::GetSystemMetrics(SM_CYCAPTION); 2     int cxframe = GetSystemMetrics(SM_CXFRAME); 3     int cyframe = GetSystemMetrics(SM_CYFRAME);4 5     CRect rectGridWnd;6     rectGridWnd.OffsetRect(-cxframe,-cyframe-captionHeight);7     m_pGrid = new CGridCtrl(5,5);8     m_pGrid->Create(rectGridWnd,this,IDC_GRID);

   然后就可以利用m_pGrid进行各种操作了。

 

CGridCtrl在MFC中的使用(一)