尘埃416 发表于 2024-3-2 09:52:59

MFC ListBox(列表框)的使用

ListBox的操作比较简单:

1添加数据
声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.
m_ListBox_Content.AddString(_T("123"));
m_ListBox_Content.AddString(_T("汉字"));
m_ListBox_Content.AddString(_T("English"));
m_ListBox_Content.AddString(_T("!@#$%^&*()"));

2获取数据
CString s;
m_ListBox_Content.GetText(1,s);
MessageBox(s,_T("取得第2行数据"),MB_OK);
s.ReleaseBuffer();
将会得到"汉字"这个字符串,如果没有得到"汉字"这个字符串,是因为ListBox的Sort属性设为True了.设为False之后就按照你编写的顺序写入(原来是这样 之前都没注意过)

3获取选择的数据
首先要将ListBox的Selection属性设置为Multiple;
int nSel;
nSel=m_ListBox_Content.GetCurSel();
CString s;
m_ListBox_Content.GetText(nSel,s);
MessageBox(s,_T("您选择的是"),MB_OK);
s.ReleaseBuffer();


4获取选择ListBox项的多个数据
首先要将ListBox的Selection的属性设置为Multiple
int nSel = m_ListBox_Content.GetSelCount();
CArray< int,int& > arrayListSel;
arrayListSel.SetSize(nSel);   
m_ListBox_Content.GetSelItems(nSel,arrayListSel.GetData());   
CString s = _T("");
for( int i=0; i< nSel; i++ )
{
m_ListBox_Content.GetText( arrayListSel, s);
MessageBox(s,_T("您选择的是"),MB_OK);
}


5双击删除所选项
添加一个ListBox的双击事件
m_ListBox_Content.DeleteString(m_ListBox_Content.GetCurSel());
页: [1]
查看完整版本: MFC ListBox(列表框)的使用