GetItemText
函数功能
编辑检索列表视图中的项目或子项目的文字函数原型
编辑int GetItemText( int nItem, int nSubItem, LPTSTR lpszText, int nLen ) const;CString GetItemText( int nItem, int nSubItem ) const;参数
编辑nItem该项目是要检索的文本的索引。(行)nSubItem指定的子项目,是要检索的文本。(字段,列)lpszText即收到该项目的文本字符串的指针。nLen缓冲区的长度,由lpszText所指向。返回值
编辑返回检索字符串的长度(int)。返回一个CString的文本C语言用 int GetItemText( int nItem, int nSubItem, LPTSTR lpszText, int nLen ) const;
MFC 用CString GetItemText( int nItem, int nSubItem ) const;
GetItemText有好几个重载函数,但没有返回值是LPCTSTR类型的函数,之所以能运行成功,是因为其中有返回会是int的函数,int是可以转换成指针的,但是里面保存的并不是值。 最简单的方法是用CString接收返回值,,如: CString str1,str2,str3; str1=m_listctrl_area.GetItemText(0,0); str2=m_listctrl_area.GetItemText(0,1); str3=m_listctrl_area.GetItemText(0,2); 即可,至于使用指针的方法,可以使用下面的代码: LPTSTR str1, str2, str3; m_listctrl_area.GetItemText(0, 1, str1, 10); m_listctrl_area.GetItemText(0, 2, str2, 10); m_listctrl_area.GetItemText(0, 3, str3, 10);
--------------------------------------------------------------------
我用下面的代码测试是正常的。 m_list.InsertColumn(0,"商品编号",LVCFMT_LEFT,130,0); m_list.InsertColumn(1,"商品名称",LVCFMT_LEFT,220,1); m_list.InsertColumn(2,"销售数量",LVCFMT_LEFT,130,2); m_list.InsertItem(0,""); m_list.SetItemText(0,0,"0123456"); m_list.SetItemText(0,1,"0223456"); m_list.SetItemText(0,2,"0323456"); m_list.InsertItem(1,""); m_list.SetItemText(1,0,"1123456"); m_list.SetItemText(1,1,"1223456"); m_list.SetItemText(1,2,"1323456"); CString buffer=""; buffer+=m_list.GetItemText(0,1); MessageBox(buffer); 结果没问题。问题出在WriteFile(hFile,buffer,4,&dwWritenSize,NULL); 第3个参数不能写4. 第3个参数表示你的buffer里总共的字节数,你写4就只能写入1234了、 所以 你可以这样 CString num; 将4换为buffer.GetLength()你可以用下面的代码测试 int i=buffer.GetLength(); num.Format("%d",i); MessageBox(num);
更多推荐
GetItemText
发布评论