为什么CList Control不能增加项?

龙鹰心腹 2010-05-14 02:58:46
char test[20] = "回城术";
Ts.Format(L"%s",test);

Skill_List.InsertItem(0,Ts);

为什么这样编译成功以后,运行时出错?我都要崩溃了
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-05-22
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
龙鹰心腹 2010-05-14
  • 打赏
  • 举报
回复
我看了winctrl.cpp,发现出错的是下面这个函数

void CListCtrl::DrawItem(LPDRAWITEMSTRUCT)
{
ASSERT(FALSE);
}

谁能告诉我到底我哪里做错了啊?是代码位置?我是在主窗口写这些代码的,这个List是在TabControl下面的子窗口中。或者是其他原因引起的错误?这么简单的东西,难道所有高手都说不出我错在哪里吗?
龙鹰心腹 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualeleven 的回复:]
C/C++ code
TCHAR test[] = _T("回城术");
Ts.Format(_T("%s"),test);

Skill_List.InsertItem(0,Ts);
[/Quote]

我按你这试了,还是一样的结果
龙鹰心腹 2010-05-14
  • 打赏
  • 举报
回复
最后那行是idt2T.Skill_List.InsertItem(i,Ts);我上面写错了
Eleven 2010-05-14
  • 打赏
  • 举报
回复
TCHAR test[] = _T("回城术");
Ts.Format(_T("%s"),test);

Skill_List.InsertItem(0,Ts);
龙鹰心腹 2010-05-14
  • 打赏
  • 举报
回复
还是一样的结果,我多贴点代码帮我看看吧


typedef struct _IdSkills //技能信息
{
char Name[20];//技能名称
int ID;//技能代码
}IdSkills;

//设置技能列表的属性和颜色等值
idt2T.Skill_List.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES);

CString Ts;
//设置表头信息
Ts = "技能名称";
idt2T.Skill_List.InsertColumn(0,Ts,LVCFMT_LEFT,120);
Ts = "等级";
idt2T.Skill_List.InsertColumn(1,Ts,LVCFMT_CENTER,60);

ReadProcessMemory(g_Handle,(LPCVOID)Skills_Temp_Addr,&Skill[i].Name,20,NULL);

Ts.Format(_T("%s"),Skill[i].Name);
idt2T.Skill_List.InsertItem(Ts); //到这里就出错,注释这行就不出错,但是就没结果了……



编译的时候没有任务问题,但是运行结果是弹出一个对话框:Debug Assertion Failed!
vctools\vc7libs\ship\atlmfc\src\mfc\winctrl2.cpp的593行
快乐鹦鹉 2010-05-14
  • 打赏
  • 举报
回复
char *test = "回城术";

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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