MFC学习日记之列表框控件

一、在MFC做的界面时时常会用到列表选择框,在MFC中列表框有三种:

1.列表框

只显示一个框体,没有下拉列表。实现方式如下:

添加一个Listbox控件,ID设置为IDC_WEB_LIST,Sort属性设为False,以取消排序显示。

再添加一个静态文本控件和一个编辑框,静态文本控件的Caption属性设为“您选择的站点:”,编辑框的ID设为IDC_SEL_WEB_EDIT,Read Only属性设为True。

即可出现如上图的界面。

首先,添加一个初始化函数(在类向导的虚函数里面添加),在初始化函数写如下代码:

m_combo_box.AddString(_T("新浪"));
 m_combo_box.AddString(_T("天涯"));
 m_combo_box.InsertString(1,_T("猫扑"));

其中:m_combo_box为ListBox的一个成员变量,addString为向变量中添加选择项。

然后,为ListBox添加一个响应函数。函数内容如下:

CString m_string;
 int sec;
 sec=m_combo_box.GetCurSel();
 m_combo_box.GetLBText(sec,m_string);
 SetDlgItemText(IDC_SEL_EDIT,m_string);

其中:GetCurSel();
为获取选择项的序号(int型)。

GetLBText(sec,m_string),获取序号为sec,的内容。

 SetDlgItemText(IDC_SEL_EDIT,m_string);,将ID为IDC_SEL_EDIT的编辑框的内容改为m_string.

实现的效果是,选中一个项后,编辑框中会出现选择项的名称。

2.组合框

组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框。下面讲讲它们的区别。

       简易组合框中的列表框是一直显示的,效果如下图:

VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

       下拉式组合框默认不显示列表框,只有在点击了编辑框右侧的下拉箭头才会弹出列表框,列表框弹出后如下图:

VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

       下拉列表式组合框的编辑框是不能编辑的,只能由用户在下拉列表框中选择了某项后,在编辑框中显示其文本。下拉列表式组合框如下图:

VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)


添加一个Combo Box控件,ID设置为IDC_WEB_COMBO,Type属性设为Drop List,为下拉列表式组合框,编辑框不允许用户输入,Sort属性设为False,以取消排序显示。

再添加一个静态文本控件和一个编辑框,静态文本控件的Caption属性设为“您选择的网站:”,编辑框的ID设为IDC_SEL_WEB_EDIT,Read Only属性设为True。

其中代码相似,如下:

Combo Box的初始化函数内容如下:

m_combo_box.AddString(_T("新浪"));
 m_combo_box.AddString(_T("天涯"));
 m_combo_box.InsertString(1,_T("猫扑"));

 m_combo_box.SetCurSel(0);  
 // 编辑框中默认显示第一项的文字“鸡啄米”  
 SetDlgItemText(IDC_SEL_EDIT, _T("新浪"));  

Combo Box的响应函数如下:

CString m_string;
 int sec;
 sec=m_combo_box.GetCurSel();
 m_combo_box.GetLBText(sec,m_string);
 SetDlgItemText(IDC_SEL_EDIT,m_string);

----------------------------------------------------------------------end-----------------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值