我将一个map<CString,int>的数据显示在CListCtrl上,出错。
但是,将map<CString,int>内容打印到文件,正确。代码如下:
void CWordList::OnGetdispinfoMylistList(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;int nItem = pDispInfo->item.iItem;
int nSubItem = pDispInfo->item.iSubItem;std::map<CString,int>::iterator iter;
iter=stat_entity_freq.find(nItem+1);
static CString str;
if(nSubItem == 0)
str.Format("%s", Commas(nItem+1));
else if(nSubItem == 1) {
str.Format("%s", iter->first);
}
else if(nSubItem == 2)
str.Format("%d", iter->second);
pDispInfo->item.pszText = str.GetBuffer(0); *pResult = 0;
}
请帮忙看看。
但是,将map<CString,int>内容打印到文件,正确。代码如下:
void CWordList::OnGetdispinfoMylistList(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;int nItem = pDispInfo->item.iItem;
int nSubItem = pDispInfo->item.iSubItem;std::map<CString,int>::iterator iter;
iter=stat_entity_freq.find(nItem+1);
static CString str;
if(nSubItem == 0)
str.Format("%s", Commas(nItem+1));
else if(nSubItem == 1) {
str.Format("%s", iter->first);
}
else if(nSubItem == 2)
str.Format("%d", iter->second);
pDispInfo->item.pszText = str.GetBuffer(0); *pResult = 0;
}
请帮忙看看。
解决方案 »
- IsWindow中断是怎么回事?
- 关于SkinPlusPlusDLL.dll使用打包的问题
- WaitCommEvent() error:句柄无效。Port:COM17
- 求助:VC对txt文本进行操作,读取相应字段,并导入到sql表中
- 急请各位大虾请出手帮助!偶92年用过BC++3.1,如今重新学习VC,遇到菜菜的问题:
- 我的STL与SDK冲突的解决方法里有一条:"而且还要保证 Microsoft Platform SDK 的搜索路径必须在 STLport 和 MSVC 自己的搜索路径之前",
- help!!!高手快来帮忙,有关CListCtrl中Item的编辑。
- 请教一个用VC为PB写动态链接库的问题,谢谢.
- 在线等待,立刻给分
- dll中输出函数名的问题
- 请教调用成员函数指针的报错"项不会计算为接受 2 个参数的函数"
- 字符编码转换的问题
这里你要判断一下
iter != stat_entity_freq.end();
才能继续往下走。还有
int nItem = pDispInfo->item.iItem;
你确定是要获取行号?
如果是LISTCTRL单元格的内容可不是这样哦!
iter=stat_entity_freq.find(nItem+1);
你怎么能这样比较呢
stat_entity_freq 你这个MAP的第一个元素可是CString类型。