MFC控件 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);//获取第二行的数据  第一行为0

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[i], s);

MessageBox(s,_T("您选择的是"),MB_OK);

}

5双击删除所选项

添加一个ListBox的双击事件

m_ListBox_Content.DeleteString(m_ListBox_Content.GetCurSel());

 

MFC中listbox控件是为了显示一系列的文本,每个文本占一行。

 

Listbox控件可以设置属性为:

LBS_CHILD   :(默认)子窗口

LBS_Visible :(默认)可视

LBS_Multiplesel :可选择多行

LBS_Extendedsel :可以使用shift或ctrl选择多行

LBS_SORT:所有行按字母顺序进行排序


对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()函数中添加实现代码即可

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值