博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过CImageList加载图标 报错
阅读量:6900 次
发布时间:2019-06-27

本文共 1166 字,大约阅读时间需要 3 分钟。

错误代码:

			
			CImageList  m_ProcessImg ;//全局变量  必须声明为全局变量(.h文件中),否则无效
 
			HICON hSmallIco=AfxGetApp()->LoadIcon(IDI_ICON1);			m_ProcessImg.Create(16,16, ILC_COLOR32 | ILC_MASK, 2, 2);			m_ProcessImg。Add(hSmallIco);			m_ListCtrl.SetImageList(&m_ProcessImg, LVSIL_SMALL);			DestroyIcon(hSmallIco);

上面这段代码当我在一个要响应WM_TIMER消息 在一个OnTimer函数中执行时总报错:

错误提示是:Unhandled exception at 0x55f650ae (mfc100ud.dll) in Meomory17.exe: 0xC0000005: Access violation reading location 0xccccccd0.

同时光标指向:内部文件winctrl2.cpp中的

ASSERT(m_hImageList == NULL);      // only attach once, detach on destroy

ASSERT(FromHandlePermanent(hImageList) == NULL);

看到错误时想过对CImageList 对象进行初始化 可没有成功,还有就是初次接触CImageList相关用法 ,以为是我不了解他的其他用法。所以在这个问题上纠结了好久。
正确代码:
			CImageList  *m_ProcessImg ;//全局变量  必须声明为全局变量(.h文件中),否则无效
 
			m_ProcessImg =new CImageList();//对CImageList对象进行初始化			
			HICON hSmallIco=AfxGetApp()->LoadIcon(IDI_ICON1);			m_ProcessImg.Create(16,16, ILC_COLOR32 | ILC_MASK, 2, 2);			m_ProcessImg->Add(hSmallIco);			m_ListCtrl.SetImageList(m_ProcessImg, LVSIL_SMALL);			DestroyIcon(hSmallIco);
就是忘了进行初始化,就是这个简单的一个问题,纠结了我好久,看来要养成好习惯。 

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/lovelyx/p/4867148.html

你可能感兴趣的文章
json的那些事儿
查看>>
9月15日学习内容整理:类的命名空间和组合
查看>>
1419: Red is good
查看>>
Android开源项目分类汇总
查看>>
linux安装svn服务器
查看>>
Structure And Representation Of MIB Object Names - SNMP Tutorial
查看>>
OpenCV教程(46) 快速特征检测
查看>>
verilog语法实例学习(6)
查看>>
实验6
查看>>
在不确定图片宽高的前提下,让加载出的图片切合宽高固定的div但不变形不留白,object-fit: cover...
查看>>
【ocp新题】OCP 12c 062认证考试出现大量新题-8
查看>>
.Hbase批量导入数据应用
查看>>
"ping: unknown host www.baidu.com" 解决方法
查看>>
vc++ CreateFile报错,返回123
查看>>
Windows下caffe的配置和调用caffe库(一)
查看>>
2013-1-1遍历文件夹,改名文件
查看>>
vimwiki 介绍
查看>>
如何使用函数式编程?
查看>>
一些UTF-8编码问题
查看>>
TabHost详解
查看>>