我的CListCtrl中有3行3列数据,我想读出.
第一列的属性为CString.
第二列的属性为float.
第三列的属性为char*.
我想分别读出,下面是我试着读的第一列:
int m_iItemCount = m_cSNotionList.GetItemCount();//=3
if(m_iItemCount)
{
for(int m_iListNum = 0; m_iListNum < m_iItemCount; m_iListNum ++);
{
CString str1;
str1 = m_cSNotionList.GetItemText(m_iListNum, 0);
MessageBox(str1);
}
}
为什么BOX显示为空,且只弹出一个BOX.
高手指点.我对此控件的函数实在不熟.
请说详细些,先谢了.
第一列的属性为CString.
第二列的属性为float.
第三列的属性为char*.
我想分别读出,下面是我试着读的第一列:
int m_iItemCount = m_cSNotionList.GetItemCount();//=3
if(m_iItemCount)
{
for(int m_iListNum = 0; m_iListNum < m_iItemCount; m_iListNum ++);
{
CString str1;
str1 = m_cSNotionList.GetItemText(m_iListNum, 0);
MessageBox(str1);
}
}
为什么BOX显示为空,且只弹出一个BOX.
高手指点.我对此控件的函数实在不熟.
请说详细些,先谢了.
CString GetItemText( int nItem, int nSubItem ) 中nItem是行,nSubItem是列!
我遇到过怪问题,多编译几次可能可以解决
看看是不是数据类型转换不正确引起的
(LPSTR)(LPCTSTR)str1
CString str1;
str1 = m_cSNotionList.GetItemText(0, 0);
MessageBox(str1);
我这样做没问题!
str1 = m_cSNotionList.GetItemText(1, 0);
MessageBox(str1);
我这样做BOX显示的也是对的。
但加了for(int m_iListNum = 0; m_iListNum < m_iItemCount; m_iListNum ++)就不行了。
for(int m_iListNum = 0; m_iListNum < m_iItemCount; m_iListNum ++)
{
CString str1;
str1 = m_cSNotionList.GetItemText(m_iListNum, 0);
MessageBox(str1);
}
大家再帮我看看,我要疯了!
for(int m_iListNum = 0; m_iListNum < m_iItemCount; m_iListNum ++);
{
CString str1;
str1 = m_cSNotionList.GetItemText(m_iListNum, 0);
MessageBox(str1);
}
怎么for循环后面多了个分号,这样会出问题的,可以compile通过,你删除它试
谢谢大家,再看看吧!
我又试了,for循环出了问题,
进入for循环时m_iListNum=3,
所以只有一个空的BOX弹出.
大家帮我解决这个for的问题!!!!!
for的问题已解决,是我的问题,感谢 chincomstar(VC新手) 提醒;
我的第2列怎么读呢!
数据类型是float的,
但GetItemTexti,1)返回的是CString;
我需要读出来
再帮我吧,我看了半天的MFC类库,还是不知用那个函数!