ListBox控件是Windows 窗体的一个空间,ListBox 控件显示一个项列表,用户可从中选择一项或多项。
如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条。当 MultiColumn 属性设置为 true 时,列表框以多列形式显示项,并且会出现一个水平滚动条。当 MultiColumn 属性设置为 false 时,列表框以单列形式显示项,并且会出现一个垂直滚动条。当 ScrollAlwaysVisible 设置为 true 时,无论项数多少都将显示滚动条。SelectionMode 属性确定一次可以选择多少列表项。
SelectedIndex 属性返回对应于列表框中第一个选定项的整数值。通过在代码中更改 SelectedIndex 值,可以编程方式更改选定项;列表中的相应项将在 Windows 窗体上突显出来。如果未选定任何项,则 SelectedIndex 值为 -1。如果选定了列表中的第一项,则 SelectedIndex 值为 0。当选定多项时,SelectedIndex 值反映列表中最先出现的选定项。SelectedItem 属性类似于 SelectedIndex,但它返回项本身,通常是字符串值。Items.Count 属性反映列表中的项数,并且 Items.Count 属性的值总比 SelectedIndex 的最大可能值大 1,因为 SelectedIndex 是从零开始的。
若要在 ListBox 控件中添加或删除项,请使用 Items.Add、Items.Insert、Items.Clear 或 Items.Remove 方法。或者,可以在设计时使用 Items 属性向列表添加项。
其中,selection中的四种选择模式(single、multiple、extended、None)的说明:
single:允许每次选择一个item;
multiple: 允许每次选择多个item;
extended:允许按下Shift或者Ctrl来选择多行;
None:选中item,但是不高亮之,只显示该item上交点(item外有矩形框)。
/////////////////////////////////////////////////////////////////////////////////////
对Listbox进行操作:
Int listbox.AddString ( LPCTSTR Str) :对listbox的首行添加一个str的文本行,即此时nIndex为0;
Int listbox.DeleteString (uint nIndex) :删除listbox中第nIndex行的文本行,注意nIndex是从0起始的;
int listbox.InsertString (uint xIndex, LPCTSTR Str):在listbox中第nIndex行插入一个str的文本行;
Int listbox.GetCount ( ):获取listbox的行的总数目;
Int listbox.GetCurSel ( ):得到listbox选中的文本行的行数。
Void listbox.ResetContent ( ):清除listbox中的所有数据;
Int listbox.GetCurCount ( ):获取listbox被选中的行的数目;
Int listbox.FindString ( int nstart , LPCTSTR Str ):从第nstart行开始起进行查找,查找Str的文本行;
Int listbox.SelectString ( int nstart, LPCTSTR Str ) :从第nstart行开始,选择包含Str字符串的那一行;
/////////////////////////////////////////////////////////////////////////////////////////
对Listbox中某一行进行双击操作,要产生一个响应函数的步骤:
在
BEGIN_MESSAGE_MAP()
END_MESSAGE_MAP()
之间添加响应函数的消息映射,如函数名为C**Dlg::OnLbnDblClk,添加下面代码
ON_LBN_DBLCLK(IDC_LIST1,&C**Dlg::OnLbnDblClk)
//IDC_LIST1为listbox控件的ID
然后在C**Dlg.h中添加函数OnLbnDblClk()的声明
最后在C**Dlg::OnLbnDblClk()函数中添加实现代码即可