【求思路-急】CGridCtrl网格的一个问题
假设原先单元格值为100,当我单击网格单元的时候,网格单元是高亮的这个时候我输入一个我自己想要的值(200)到网格中,此时,我再点击UI上别的控件,原先的单元格还是处于高亮并没有失去焦点,这个时候我发现我原先输入200的单元格中数据是显示的数据是改变了,但是当我获取该单元格数据的时候发现我获取的还是100,也就是在我输入200后单元格并没有失去焦点,触发通知消息,使我获取的值为200?
不知道描述的是否清晰,现在很纠结,有什么办法可以在我输入值后,让底层的值也更新如上变成我设置的200(在单元格编辑后仍高亮,未失去焦点情况下)
说下我自己的方法吧:我开始是在NOTIDY中让编辑的网格失去焦点的,但是发现不行,尝试别在别的函数地方让网格单元失去焦点也不行,都失败,不知道为什么,不知道该控件是否有相应的这样消息呢? (没有熟读源码 )
在这里求解,有过类似经历的,希望给个解决思路 === 在线等
相关推荐
一个优秀的VC网格控件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 复制到你的项目中然后导入。修改相应的头文件就可以了
从 CGridCtrl demo 到实战:解锁单元格编辑、下拉框与排序功能
在 MFC 桌面应用开发中,当需要实现类似 Excel 的可编辑数据表格时,传统 CListCtrl 往往难以应对单元格内嵌控件、动态列宽、排序等交互需求。CGridCtrl 作为一套基于自绘机制的网格控件,通过将每个单元格抽象为独立对象,统一管理文本、样式与编辑行为,极大降低了表格功能开发的复杂度。其核心价值在于:开发者无需从零处理绘制和命中测试,只需设置行列结构并替换单元格类型,即可获得完整的编辑、下拉选择和排序能力。该控件广泛应用于物料清单、数据录入、配置管理等需要频繁与表格数据交互的 MFC 项目中
基于MFC与Access数据库的超市仓库管理系统开发实战指南
桌面应用开发是理解软件工程实践的重要途径,其核心在于将业务逻辑通过图形界面与数据持久化技术相结合。MFC(Microsoft Foundation Classes)作为经典的Windows桌面应用框架,通过其文档/视图架构和消息驱动机制,为开发者提供了构建结构化应用程序的成熟模式。结合ODBC数据库访问技术,开发者能够高效连接并操作如Microsoft Access这类关系型数据库,实现数据的增删改查与事务管理。这种技术组合在工业领域的上位机、工具软件中仍有广泛应用,其教育价值在于能深刻揭示从用户需求到代码
CGridCtrl网格控件使用说明
详细的说明了网格控件的CGridCtrl的使用方法,详细的中文说明书,用CGridCtrl远比MFC自带的ClistCtrl更方便,其设置颜色、背景、字体、大小等等都超方便,对初学者帮助甚大
在对话框的网格控件(CGridCtrl)
网格控件(CGridCtrl)允许你显示具有检验标志的二维网格,可以用于显示二维关联性。 使用CGridCtrl类非常简单。首先,添加头文件和实现文件 CGridCtrl.h (cpp)到工程中。在资源编辑器中增加该控件到对话框中,并添加一个成员变量来使用 CGridCtrl类。在对话框的OnInitDialog方法中,通过调用控件的AddColumn、AddRow和SetCheck方法来创建网格。你也可以调用Serialize方法从一个文件创建网格控件。


其它技术问题
