《实用VC编程之玩转控件》第6课:ComboBox下拉框控件

本文转载自:VC驿站

https://www.cctry.com/thread-297426-1-1.html

1、向下拉框控件添加数据:
a、通过Data属性添加,以分号间隔;
b、向下拉框的结尾添加数据:

m_ComboBox.AddString(_T("1"));
m_ComboBox.AddString(_T("2"));
m_ComboBox.AddString(_T("10"));
m_ComboBox.AddString(_T("20"));

添加完成后,大家发现点什么问题没有?数据的顺序并不是我们添加时候的顺序,不是逐一往尾部添加吗,为什么顺序不对呢?
答案是:调整下控件的 Sort 自动排序属性就可以了。

c、自定义位置插入数据:

m_ComboBox.InsertString(0, _T("1"));
m_ComboBox.InsertString(1, _T("2"));
m_ComboBox.InsertString(2, _T("10"));
m_ComboBox.InsertString(1, _T("20"));

这种插入方式不受 Sort 属性的影响,但是需要提供插入的索引位置。

2、从下拉框删除数据:

m_ComboBox.DeleteString(0);    //删除指定索引的数据

m_ComboBox.ResetContent();    //删除全部数据​​​​​​​


3、设置下拉框选中某条数据:

m_ComboBox.SetCurSel(1);​​​​​​​
参数传递要设置的索引序号,如果不想选中任何一条,那么就传递 -1.

4、获得下拉框当前选中的是哪条数据:

int idx = m_ComboBox.GetCurSel();
返回以0开始的选中的数据索引,如果没选中任何一条数据,则返回 -1.

5、获得指定数据的字符串内容:

TCHAR szText[100] = { 0 };

m_ComboBox.GetLBText(idx, szText);

这样就知道选中的是哪个了,不然告诉你 0,1,2,你怎么知道是什么!

6、下拉控件的类型:
Dropdown:可以从下拉列表中选择一项,也可以自己输入;
Drop List:只能从下拉列表中选择一项,不能修改。

7、控制下拉列表的高度:
a、控件模版中,点击一下 ComboBox 的下拉箭头,此时出现的调整框就是 ComboBox 的下拉框的高度;
b、控件属性中有个 No Integral Height 选项,表示最大高度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。
可以将该选项设置为默认的FALSE,即表示最大高度不是设计的高度,而是根据实际内容的高度来决定。

8、下拉框选择改变事件:
响应 CBN_SELCHANGE 事件,在其响应函数中判断当前选中的是哪个!

9、开源控件类:
https://www.codeproject.com/KB/combobox/
https://www.codeproject.com/Articles/489189/Group-Combo-Box
《实用VC编程之玩转控件》第6课:ComboBox下拉框控件 

https://www.codeproject.com/Articles/58/CheckComboBox-Control
《实用VC编程之玩转控件》第6课:ComboBox下拉框控件 

https://www.codeproject.com/Articles/229/Color-Picker-Combo-Box
《实用VC编程之玩转控件》第6课:ComboBox下拉框控件 

https://www.codeproject.com/Articles/81/A-Multi-Column-ComboBox
《实用VC编程之玩转控件》第6课:ComboBox下拉框控件 

https://www.codeproject.com/Arti ... truct-in-a-Combobox
《实用VC编程之玩转控件》第6课:ComboBox下拉框控件 

10、小作业:
从开源控件类中选一个,自己实践下试试!

具体操作细节见视频教程的演示和讲解!

第6课免费试看,下载地址:

https://www.cctry.com/thread-297426-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值