網格控件的用途非常廣泛,在我的一個項目中需要實現類似EXCEL的界面,為此我采用了一個優秀的CGridCtrl控件,其原作者為 Chris Maunder (原作者所寫的MFC Grid control的最新版本可以到http://www.codetools.com/miscctrl/gridctrl.asp查閱)為了方便地實現單元格的合並和撤銷,我定制了如下的幾個公有成員函數
SetCellCombine(); //設置單元格的合並特性
UndoCellCombine(); //取消合並
SetFixedCellCombine(); //合並單元格
GetCellp(); //取得單元格對象指針
其具體的實現我在代碼中添加了//want remove it? 和//added for combine;注釋語句來表明這段說明中的代碼是用於合並。以方便以後的改變。
使用辦法:
將文件名為:GridCtr.cpp,GridCtr.p,CellRange.h,GridDropTarget.cpp,GridDropTarget.h
InPlaceEdit.cpp,InPlaceEdit.h, InPlaceList.cpp,InPlaceList.h, MemDC.h,TitleTip.cpp, TitleTip.h 復制到你的項目中然後導入。修改相應的頭文件就可以了。
本文提供了示例代碼,包含了全部源程序,示例程序的運行效果圖如下: