当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 一个优秀的网格控件CGridCtrl

VC++
用 auto_ptr 类模板帮助动态内存管理
走近 STL
一步一步学STL标准模板库
使用 <multimap> 库创建重复键关联容器
使用 <map> 库创建关联容器
用 vectors 改进内存的再分配
用函数模板实现和优化抽象操作
STL 字符串类与 UNICODE 及其它......
如何在Dll中导出STL类
再谈“在STL列表(Lists)中插入不同类型的对象”
使用::std::vector<>作为管理动态数组的优先选择
三种常见中文内码的转换方法
JNI 中文处理问题小结
构建 GB2312 汉字库的 unicode 码表
正则表达式简介
在非MFC程序中引用CString
UTF-8与GB2312之间的互换
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现
用VC++设计语法编辑器
C语言中对时间和日期的处理

VC++ 中的 一个优秀的网格控件CGridCtrl


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 107 ::
收藏到网摘: n/a

一个优秀的网格控件CGridCtrl
作者:戴绍忠

  网格控件的用途非常广泛,在我的一个项目中需要实现类似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 复制到你的项目中然后导入。修改相应的头文件就可以了。

本文提供了示例代码,包含了全部源程序,示例程序的运行效果图如下: