2 gzrjzcx gzrjzcx 于 2015.07.13 14:03 提问

MFC里listbox如何双击打开选中行

MFC做媒体播放器的播放列表时,
我是用了listbox显示播放列表。添加双级响应消息后,写入代码
int nSel = m_listbox.GetCurSel();
m_player.put_URL(m_media.get_sourceURL());
想用put_URL函数打开选中歌曲,但是m_media.get_sourceURL()函数返回的地址是每次添加歌曲过后的那一首歌曲的地址,
也就是双击每一项只能打开最后添加的一首歌曲,
有没有什么办法得到每一行歌曲信息的地址。
添加按钮代码:
m_listbox.InsertString(0,m_media.getItemInfo(L"Title"));

4个回答

lx624909677
lx624909677   Ds   Rxr 2015.07.13 14:37
oyljerry
oyljerry   Ds   Rxr 2015.07.13 14:39

你插入ListBox的数据的时候,插入歌曲信息。同时你维护一个map,歌曲名映射到文件地址的map
每次你获当前选中行后,查找map得到对应的地址,然后再put_URL

gzrjzcx
gzrjzcx   2015.07.13 14:58

什么意思 ?
我的歌曲信是通过一个ADD按钮添加上去的,维护一个map,歌曲名映射到文件地址的map什么意思 ? 刚学C++不久,求详细点~~谢谢

oyljerry
oyljerry 就是你添加的歌曲名跟它实际的文件地址你自己用一个map维护啊。这样你可以根据歌曲名得到实际地址
2 年多之前 回复
gzrjzcx
gzrjzcx   2015.07.13 15:09

好吧 发现自己map是什么东西都不知道 - -

Csdn user default icon
上传中...
上传图片
插入图片