欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2024/3/7 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 《实用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
 

https://www.codeproject.com/Articles/58/CheckComboBox-Control
 

https://www.codeproject.com/Articles/229/Color-Picker-Combo-Box
 

https://www.codeproject.com/Articles/81/A-Multi-Column-ComboBox
 

https://www.codeproject.com/Arti ... truct-in-a-Combobox
 

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

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

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

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

总结

以上是生活随笔为你收集整理的《实用VC编程之玩转控件》第6课:ComboBox下拉框控件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。