我使用mfc里的listbox制作了一个列表,想将文件加入列表之后,单击左边的任何一个歌曲,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我使用mfc里的listbox制作了一个列表,想将文件加入列表之后,单击左边的任何一个歌曲,相关的知识,希望对你有一定的参考价值。

右边显示歌曲的信息,请问如何设置两者之间的信息传递??
·

在listbox的点击事件中,
1、 GetPos();
2、 获得歌曲
3、获得有关信息,如 标题,歌曲,专辑
4、 GetDlgltem( IDC_EDT_TITLE)->SetWindowText( &cstr_title);
GetDlgltem( IDC_EDT_MUSICNAME) ->SetWindowText(&cstr_musicname);
GetDlgltem( IDC_EDT_MUSICGROUP)->SetWindowText( &cstr_musicgroup);
具体查询SetwindowText函数追问

我想知道怎么获取列表里某个歌曲的指针,求详细解释~

追答

你建立并维护一个顺序和列表框中顺序相同的歌曲队列。
点击时调用。
int npos = m_list.GetCurSel();
if(npos == -1) return; //未选择
Music *pm = GetMusicFromList( npos ); // GetMusicFromList( npos ); 为你自己定义的函数
//其它思路如上

追问

高人,能不能qq讲解一下~ 51094261,不胜感激!

参考技术A 给你一个链接,你自己学习一下吧追问

我想知道怎么获取列表里某个歌曲的指针,求详细解释~

参考资料:http://sunwenhua168.blog.163.com/blog/static/62232553201081901041403/

从类对象列表中显示listBox.SelectedItems

我有一个有两个成员(名称和值)的类。然后我创建一个从文本文件填充的类对象列表,所以我有name文本文件中的名称和val中的值。然后使用此列表制作一个listbox,其中显示所有名称。

我想要做的是从listbox中选择多个选项(名称),然后将所有这些选项中的val存储在另一个列表中。这甚至可能吗?

我尝试过SelectedItems,但似乎只存储了类对象本身。出于某种原因,尽管如此:

foreach (object selectedItem in listBox1.SelectedItems)
{
    textBox1.AppendText(listBox1.SelectedValue.ToString() + Environment.NewLine);
}

显示所选项目的第一个值。如果我选择三个名称,其中第一个的值为4,结果是4 4 4

答案

你需要用“两个成员”把selectedItem送到你的班级。然后你可以选择Value

foreach (object selectedItem in listBox1.SelectedItems)
{
    MyClass item = (MyClass)selectedItem
    textBox1.AppendText(item.Value.ToString() + Environment.NewLine);
}

如果我选择三个名称,并且其中第一个的值为4,则结果为4 4 4

发生这种情况是因为你不使用循环中的迭代变量,但你总是使用相同的listBox1.SelectedValue!这将是多个选定项目列表中的第一个

以上是关于我使用mfc里的listbox制作了一个列表,想将文件加入列表之后,单击左边的任何一个歌曲,的主要内容,如果未能解决你的问题,请参考以下文章

猎豹MFC--下拉框ComboBox 列表框ListBox

mfc listbox 怎么输入文字

MFC LISTBOX使用

MFC,ListBox使用 InsertColumn添加列,在列表框中却无论如何都不显示,很是郁闷,求解,正解追加高分。

在dockframe窗口上添加自定义LISTBOX

从类对象列表中显示listBox.SelectedItems