请教个CList控件的问题,为什么SetItemText错误?急!

willbetter 2006-06-17 12:18:27
部分源码如下:
for(int i=1;i<iNumofPro;i++)
{
//insert process id.
CString strPId;
strPId.Format("%d",dwProIdAry[i]);
m_ShowPro.InsertItem(i,strPId);

... ...

CString strProName(szProName);

if(m_ShowPro.SetItemText(i,1,strProName)==0)
AfxMessageBox("Error");//这里出错了,
CString strProPath(szProPath);
m_ShowPro.SetItemText(i,2,strProPath);
}
弄了一晚上都没搞定!
...全文
276 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacky_pane 2006-12-04
  • 打赏
  • 举报
回复
我也碰到同样的问题,顶,请大家帮帮忙啊!
willbetter 2006-06-18
  • 打赏
  • 举报
回复
自己顶
Hallohallo 2006-06-17
  • 打赏
  • 举报
回复
你有没有insertcolumn啊,出错是不显示吗?
thesuper 2006-06-17
  • 打赏
  • 举报
回复
m_ShowPro.SetItemText(i,1,strProName)==0,SetItemText并没有成功
检查:
是否是report风格
是否事先InsertItem,是否从index 0开始,并查看是否成功插入
自己debug下


lixiaosan 2006-06-17
  • 打赏
  • 举报
回复
是否是report风格
是否事先插入了column
willbetter 2006-06-17
  • 打赏
  • 举报
回复
事先insert column了啊,是report风格,可仔细看我上面代码是m_ShowPro.InsertItem(i,strPId);了的。就是没有插入,那列什么都没有。
如下:
//initialize the list.
m_ShowPro.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ShowPro.InsertColumn(0,"PID");
m_ShowPro.SetColumnWidth(0,30);
m_ShowPro.InsertColumn(1,"ProcessName");
m_ShowPro.SetColumnWidth(1,80);
m_ShowPro.InsertColumn(2,"Path");
m_ShowPro.SetColumnWidth(2,160);
m_ShowPro.InsertColumn(3,"Manufacturer");
m_ShowPro.SetColumnWidth(3,120);
m_ShowPro.InsertColumn(4,"CPU");
m_ShowPro.SetColumnWidth(4,30);
m_ShowPro.InsertColumn(5,"Memery");
m_ShowPro.SetColumnWidth(5,80);
//show the processes.

15,975

社区成员

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

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