论SetItemData和GetItemData
好久没有写随笔了,讲一下今天在Debug过程中遇到的问题:
CListBox(列表框),CListCtrl(报表控件),CTreeCtrl(树控件), CComboBox(组合框)都有的两个这两个函数:SetItemData和GetItemData,用这两个函数给这些控件来绑定对象或者数据结构的指针非常方便。
在Debug过程中,遇到CListCtrl控件和CTreeCtrl的使用,双击树节点获取树节点数据,压入到ListCtrl控间当中;这其中涉及到树控件的过滤功能,我这块的过滤功能是使用树的重建来建立一颗新树。
1、在未过滤之前获取的树节点压入到ListCtrl当中:ListCtrl.SetItemData( 0, (DWORD)pTreeItemInfo1 );
2、过滤后重建树获取树节点压入到ListCtrl当中:ListCtrl.SetItemData( 1, (DWORD)pTreeItemInfo2 );
3、在获取压入到ListCtrl当中的数据时,由于重建树,原有未过滤的树节点已经Destroy,CTreeItemInfo* pTreeItemInfo = (CTreeItemInfo*)ListCtrl.GetItemData(0);
pTreeItemInfo就成为野指针,所以在使用以上两个函数的时候一定注意 要压入堆上申请的空间并且要一直存在,防止野指针的产生。
转载于:https://www.cnblogs.com/lee1023/p/4814735.html
论SetItemData和GetItemData相关推荐
- MFC Combox SetItemData与GetItemData使用实例
例1:使用结构体 定义全局变量(本文件中) struct PartType { int KeyIndex; CString KeyValue; }; int arrAllValue[]={1,2, ...
- getitemdata中参数设置
相关讨论: https://bbs.csdn.net/topics/310250682
- 2010.6.15 常用数据类型转换总结
1.CTreeCtrl用法 当需要将Tree的每个节点与某个类对象绑定的时候,可以使用GetItemData or SetItemData 与节点进行绑定.返回结果为DWORD_PTR类型,通过转 ...
- CListCtrl列表控件---总结
(一)列表控制的主要功能 列表控制和视(List Control&View)主要用来以各种方式显示一组数据记录供用户进行各种操作,Windows98/95中资源管理器中的"查看&q ...
- CListCTrl控件排序(一)
来源网站:http://blog.csdn.net/hgy413/article/details/6719908 列表控件(CListCtrl)的排序功能不像其它直接调用API就可以完成的功能一样.它 ...
- VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)
上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义.本节继续讲解下半部分,包括列表视图控件的创建.CListCtrl类的主要成员函数 ...
- 树形控件Tree Control
树形控件Tree Control 前面两节为大家讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Control. 树形控件简介 树形控件在Windows系统 ...
- CListCtrl的使用完全指南
CListCtrl的使用完全指南 http://www.programbbs.com/doc/2887.htm 所属类别:VC++ 推荐指数:★★★☆ 文档人气:18717 本周人气:22 发布日期: ...
- MFC列表控件ListControl和树控件TreeControl
列表控件 列表相关的类:CListCtrl-父类是CWnd,本质是一个控件: CListView-父类是CView,本质是一个视图.相当于在视图中嵌入了一个CListCtrl控件 列表控件的使用 1. ...
- CListCtrl的用法总结
1 CListCtrl的风格 CListCtrl的风格有四种: LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小 ...
最新文章
- 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】
- 明日发布组队学习计划!
- 华为手机的“美国梦”
- pycharm用爱发电
- net.sf.json将string转为map
- Java高新技术笔记:反射、多线程、泛型、枚举、javaBean、代理
- Vue学习(组件的定义及调用、路由)-学习笔记
- python实例化是什么意思_Python中实例化class的执行顺序示例详解
- python列表存储字符串_Python 基础知识全篇-字符串列表
- Windows GVim
- 一行代码,能导入所有Python库!
- 深度学习:卷积神经网络CNN变体
- Eclipse开启或取消快速导航栏(toggle breadcrumb)
- Ubuntu22.04安装Arduino IDE及Arduino UNO(使用CH341驱动)调试方法
- 华为网络设备SSH连接
- 没有网线接口的MacBook电脑怎么连接有线网络?USB外置网卡来帮忙
- 街舞中的rolling机器人_这,就是街舞中的那些“Swag”十足的舞蹈类型,你了解吗?...
- xp系统怎么创建新宽带连接服务器地址,XP宽带连接怎么创建?
- 【项目实战二】基于模板匹配和形态学操作的信用卡卡号识别(OpenCV+Python)
- 一个优秀的国产ITSM软件应该有哪些特性?
热门文章
- 由一个国标文件中,英文名与中文意思的对比,看用词的重要性
- 纽微特反省:别人犯错不敢说,那是因为自己不干活
- python使用CV2剪切图片
- 程序员打产品经理事件:做不了的事情,直接推给主管
- using编译指令和using声明比较
- VS C# string 字符查找 寻找指定字符
- mysql用declare会报错_mysql创建存储过程declare 变量时报错
- linux下默认分区system的id,Linux学习笔记之系统中的分区和文件系统
- jdbc mysql url写法_Springboot项目连接MySql写了一个bug你也可能遇到
- 数据结构详解之栈和队列