CGridCtrl学习指南.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CGridCtrl学习指南

CGridCtrl学习指南 当我努力为显示和编辑现有表中的数据而使用 CListCtrl 到了极限之后,我意识到我所需要的只不过是一个专用的Grid控件而已。于是我开始着手写自己的Grid控件,但为了节省时间我决定修改Joe Willcoxsons的免费控件 WorldCom,你可以在以下站点 /chinajoe/wcmfclib.html 找到这个东东。为了让它能做我要做的事情,我分解了他的代码,并且重新修改。由于代码经过太多的修改,我甚至不能确信最终是否还存在最初的代码。但无论如何,Joe的代码是一个大框架,而我只是在上面进行加工而已。 工程一开始的时候是计划尽可能的简单但是当我不断发现我不得不考虑新特色的时候,它迅速的膨胀成为一个梦魇。虽然测试并不是没有遗漏--但是我还是坚信情形不会变得太坏J。Joe很善意的允许我开放这个资源而不附加任何的语句(毕竟那是基于他的代码),但是由于工程象马拉松似的,所以我在这段代码中使用了两个非常不成熟的条件: 这段代码可以以任何方式用于已编译的形式中(包括商业用途)。只要代码不适用,即使没有作者同意,作者姓名和所有版权信息都原封不动,你可以对代码进行任何形式的使用。但是,如果没有作者的同意,这篇文章和附带的源代码都不能放在任何网站或论坛上。 你就把它当作是没有任何担保的软件,随意使用吧! 我已经尽量除去任何不良的 特征,对由它引起的任何损害,时间的浪费或者数据丢失等,我不负任何责任。 希望不要问太多关于继续开发下去的到底有多大工作量的问题。如果你真的要用于商业场合,请给我发email让我知道。如果没有多少人使用的话,开放和维护/升级代码就没有任何意义。  /PP控件的特点: ●使用鼠标可以进行单元格的选择,还可以辅助ctrl和shift的组合键进行选 择。也可以取消选择。 ● 行和列可以按照大小进行重排,还可以取消对行、列或两者的排序。 ● 双击区分点,行或者列可以按照大小自动排序 ● 可以对任何列或行固定 ● 单元格可以有不同文本和背景颜色的个性化设置 ● 单元格可以有字体的个性化设置 ● 单元格可以标注只读或者其他的状态设置及检测 ● OLE的拖放动作 ● Ctrl-C, Ctrl-X和Ctrl-V执行拷贝、剪切、粘贴操作,Ctrl-A全选 ● 当单元格成为焦点,并且在单元格的编辑区域按下字符键,就意味着在 那个单元格进行编辑了 ● 支持微软的智能鼠标 ● 可以在单元格中加入图片 ● 对大型数据可以使用虚拟模式 ● 充分的打印支持,支持文档/浏览环境(包括打印预览)或是基于会话的应用(不支持打印预览) ● 可选的列表模式,包括对行的全选或单选,还有单击列标题提示进行插入的操作。 ● 众多的虚函数可以很容易对控件进行功能扩充 ● 支持UNICODE ● 支持WinCE ● 单元格的标题提示太小不能显示数据 ● 可以隐藏行和列 ● 在VC4.2、5.0、6.0和CE工具箱2.0、3.0下编译通过/PP示例中示范了grid控件中大部分特征/PP文档 如果想在你的工程中使用这个Grid控件的话,你还得在你的工程中添加一些文件: gridctrl.cpp, gridctrl.h Grid控件资源文件和头文件 gridcellbase.cpp, gridcellbase.h 单元格的基础类 gridcell.cpp, gridcell.h 单元格的默认执行文件 CellRange.h CcellID和CcellRange类的定义 MemDC.h Keith Rules的直接存储类 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 的时候才有必要使用/PP结构 这个Grid是基于一种框架(CgridCtrl工程),这种框架组织和控制那些容纳数据、执行某些操作如画图、句柄方法如按钮的点击事件的单元格的动作。 Grid工程本身的句柄事件如点击是在单元格之前响应,如果它认为有必要的话,它还会发送某种鼠标信息。它还包含一个拖曳对象(CGridDropTarget)和一个标题提示对象(CTitleTip),前者处理拖曳操作,后者在单元格物理空间在最大限度内不足以显示其内容时可以显示出其内容。Grid单元格可以是任何类型,其长度与源自CgridBaseCell的类的

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档