CTreeCtrl运行出错,菜鸟问题,急啊

desun_168 2008-03-19 04:48:41
建立了一个单文档的MFC应用程序,添加了一个对话框,在对话框中添加了一个CTreeCtrl,想显示相关的字符串,程序如下所示,
结果运行时,老是在“m_tree.SetImageList(m_imagelist,TVSIL_NORMAL);”地方出错,提示“Acess Violation”,请问到底是哪出错了,该如何解决??
BOOL ProductProcessDialog::InitTree()
{
//载入图标
HICON icon[2];
icon[0] = AfxGetApp()->LoadIcon(IDI_ICON_ROOT);
icon[1] = AfxGetApp()->LoadIcon(IDI_ICON_NODE);
icon[2] = AfxGetApp()->LoadIcon(IDI_ICON_RED);
//创建图标列表
CImageList *m_imagelist = new CImageList;
m_imagelist->Create(16,16,ILC_MASK,4,1);
m_imagelist->SetBkColor(RGB(255,255,255));
for (int n=0;n<3;n++)
{
m_imagelist->Add(icon[n]);
}
m_tree.SetImageList(m_imagelist,TVSIL_NORMAL);
m_tree.SetBkColor(RGB(0,250,255));
//创建父节点
HTREEITEM root0 = m_tree.InsertItem("外圆表面加工",0,0,TVI_ROOT,TVI_LAST);
HTREEITEM root1 = m_tree.InsertItem("孔加工",0,0,TVI_ROOT,TVI_LAST);
HTREEITEM root2 = m_tree.InsertItem("平面加工",0,0,TVI_ROOT,TVI_LAST);
return true;
}
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hslinux 2008-03-19
  • 打赏
  • 举报
回复
需要养成随手结帖好习惯。@_@
Supper_Jerry 2008-03-19
  • 打赏
  • 举报
回复
明显数组越界访问了。
desun_168 2008-03-19
  • 打赏
  • 举报
回复
啊,真是如此啊,呵呵 非常感谢
heimu2257 2008-03-19
  • 打赏
  • 举报
回复
不好评论
oo 2008-03-19
  • 打赏
  • 举报
回复
HICON icon[2];   //定义了2个
icon[0] = AfxGetApp()-> LoadIcon(IDI_ICON_ROOT);
icon[1] = AfxGetApp()-> LoadIcon(IDI_ICON_NODE);
icon[2] = AfxGetApp()-> LoadIcon(IDI_ICON_RED); //怎么能访问3个呢?

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧