CListCtrl问题求解? 我用GetItemText()获得List中的内容,内容很多,为什么它只给我取出一部分出来?我想在ListCtrl中隐藏两列数据,不用他拖动显示出来?找了半天,未果,郁闷的紧........ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 里面的字符串是用一个char *保存的,当有0时,就断开了,所以,你如果想得到更多信息,只有能得到字的长度,并得到item,并用memcpy(buff,item.lptext),这样就可以了。 这个问题我当初也碰到过,我怕麻烦,就做了一个字符串数组,和ListCtrl同步就可以了 第一个问题我搞定了,用STL做的,第二个还有求各位高手指点。 CListCtrl::SetItemDataBOOL SetItemData( int nItem, DWORD dwData );你想要设置的数据可以用一个结构typedef struct{int a;CString b;}SData;然后如下:m_lcList.SetItemData(nItem,DWORD(&sdata));要得到数据可以这样:SData* psdata=(SData*)m_lcList.GetItemData(nItem); HDITEM hdItem; ZeroMemory(&hdItem, sizeof(hdItem)); hdItem.mask = HDI_WIDTH; hdItem.cxy = 0; m_HeaderCtrl.SetItem(nIndex, &hdItem); >>首先感谢以上各位,怎么没人知道第二个怎么实现吗? 自己定义一个项目结构,用链表保存吧. escout(侦察兵)的方法很好(只是不要用CString,用char[]或char*).当添加一个条目后,SData * pData=(SData *)malloc(sizeof(SData));pData->a=100;strcpy(pData->b,"...");如果用char*则要先调用newm_Ctrl.SetItemData(nIndex,pData);//可能要强制转换//取用SData * pData=(SData *)m_Ctrl.GetItemData(nIndex); 窗口上显示和清除文字问题 如何提高磁盘读写速度 代码判断windows自动更新功能是否打开 RS232传输问题,在线等 win32的控制台程序移值到linux下面运行 请介绍一个关于CScrollView使用的例子,最好给出链接或代码 VC中用的C++和borland C++ 的区别在那里? 如何制作多语言编辑器 在使用mschart控件时,为什么在有的98上就能正确显示,有的却不行呢??? 替换.txt文件中指定的字符串? 大家好!用USB是不是一定要自己开发驱动?有没有什么封装好的类用。高人应该做一个!谢谢大家! 一个SDI,在view中怎么得到mainFrame中的成员
所以,你如果想得到更多信息,只有能得到字的长度,并得到item,并用memcpy(buff,item.lptext),这样就可以了。
BOOL SetItemData( int nItem, DWORD dwData );你想要设置的数据可以用一个结构
typedef struct{
int a;
CString b;
}SData;
然后如下:
m_lcList.SetItemData(nItem,DWORD(&sdata));
要得到数据可以这样:
SData* psdata=(SData*)m_lcList.GetItemData(nItem);
ZeroMemory(&hdItem, sizeof(hdItem));
hdItem.mask = HDI_WIDTH;
hdItem.cxy = 0;
m_HeaderCtrl.SetItem(nIndex, &hdItem);
自己定义一个项目结构,用链表保存吧.
当添加一个条目后,
SData * pData=(SData *)malloc(sizeof(SData));
pData->a=100;
strcpy(pData->b,"...");如果用char*则要先调用new
m_Ctrl.SetItemData(nIndex,pData);//可能要强制转换
//取用
SData * pData=(SData *)m_Ctrl.GetItemData(nIndex);