hur.cn - 华软网

 热门搜索

MFC列表框问题

  作者:未知    来源:网络    更新时间:2011/5/14
为什么我的列表框总是自动空出一行?
我的目的是输出一个"商品信息.txt"的文档,可就是输出时这个列表框总是自动空出第一行,不知道是什么原因?望各位解答一下吧,谢谢!
这是我的代码
void CMyDlg::OnButton7() 
{
// TODO: Add your control notification handler code here

fstream loy,luy;
CString a;
    char s[100];
for(int e=0;e<100;e++){m_listshow2.DeleteString(0);}
    loy.open("ÉÌÆ·ÐÅÏ¢.txt",ios::in);
int u=0;
int ii,j;
    while(!loy.eof())
{  
th[u].m_num="";
th[u].m_thing="";
th[u].m_value="";
th[u].m_number="";
th[u].m_made="";
loy.getline(s,sizeof(s));
j=strlen(s);
for(ii=0;ii<j;ii++)
{ if(s[ii]!=' ')
th[u].m_num+=s[ii];
else break;
}
for(;s[ii]==' ';ii++);
for(;ii<j;ii++)
{ if(s[ii]!=' ')
th[u].m_thing+=s[ii];
else break;
}
        for(;s[ii]==' ';ii++);
for(;ii<j;ii++)
{ if(s[ii]!=' ')
th[u].m_value+=s[ii];
else break;
}
        for(;s[ii]==' ';ii++);
for(;ii<j;ii++)
{ if(s[ii]!=' ')
th[u].m_number+=s[ii];
else break;
}
        for(;s[ii]==' ';ii++);
for(;ii<j;ii++)
{ if(s[ii]!=' ')
th[u].m_made+=s[ii];
else break;
}
m_listshow2.AddString(th[u].m_num+"    "+th[u].m_thing+"    "+th[u].m_value+"    "+th[u].m_number+"    "+th[u].m_made);
u++;
}
    loy.close();
    luy.open("¶ÔÏó.txt",ios::in);
    luy>>i;
    luy.close();

}
---华软 网友回答---
看看对话框里的列表控件的Data属性是不是多个回车,不是的话,可以把第一行用代码删除
---华软网友回复---
下断跟踪下,估计是添加一个空格或者回车之类的不可见符号进去成了一行.
---华软网友回复---
实在不行的话,在最后用m_listshow2.DeleteString(0);
把第一个空行删除试试
---华软网友回复---
这样做问题是解决了,可是再重新打开程序后,点击按钮,却 不再显示,这又是为什么?
引用 3 楼 zk0233 的回复:
实在不行的话,在最后用m_listshow2.DeleteString(0);
把第一个空行删除试试

---华软网友回复---
你是不是把那句放在循环里了?要放在你添加完之后
引用 4 楼 fczzxzzx126 的回复:
这样做问题是解决了,可是再重新打开程序后,点击按钮,却 不再显示,这又是为什么?

引用 3 楼 zk0233 的回复:

实在不行的话,在最后用m_listshow2.DeleteString(0);
把第一个空行删除试试

---华软网友回复---
兄弟,你这代码风格书写该注意了,看的人蛋疼。
---华软网友回复---
for(int e=0;e<100;e++){m_listshow2.DeleteString(0);}
--------------------------------------------------
???
---华软网友回复---
执行代码前加上:m_listshow2.DeleteAllItems()试试.      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。