自动完成Combobox小结
来源:互联网 发布:西南大学网络教学 编辑:程序博客网 时间:2024/06/11 08:43
工作需要做一个自动完成combobox,就是用户在编辑框输入的时候,下拉框能自动选择用户输入最相近的一项,同时编辑框给出自动完成功能。
途中遇到很多小麻烦,网上下了一大堆源码,总结了不少经验,不敢独享,以飨读者。
首先继承一个CCombobox的类,响应以下消息处理:
注意,不宜响应CBN_SELCHANGE,而是应该响应CBN_EDITUPDATE,前者让组合框的爸爸去解决就好了。。。
在处理消息之前,我们应该对消息进行一下判断,并不是用户的每次按键都是有意义的。
同时,有些消息如果不想传给父亲,就要中断消息链。在我的例子里,回车键会发给父窗口的编辑器导致换行,所以我这里阻止了回车消息的传递。
接下来处理编辑事件响应。
注意PostMessage是自动选择的关键!否则下拉框虽然能滚动,但是不会高亮选择项!
原因不是很明确,不过肯定是消息同步和异步处理之间的原因。
基本就差不多了,你会发现一个bug,就是自动提示的时候打开下拉框鼠标不见了!
嘿嘿。。。这就是我最开始之所以响应CBN_DROPDOWN消息的原因,这里得做个补救措施:
现在效果出来了,貌似比较专业...下图:
如果是CComboBoxEx则麻烦一点,你需要自己实现排序,插入,搜索字符串的操作。
然而原理则是一样的。
- 自动完成Combobox小结
- 自动完成Combobox小结
- comboBox 自动完成搜索功能
- 具有自动完成功能的ComboBox
- ComboBox自动完成功能(Source)
- C# ComboBox自动完成功能的例子
- 另一个具有自动完成功能的ComboBox
- 自定义具有自动完成功能的ComboBox
- ComboBox自动完成功能的例子
- ComboBox自动完成功能的例子
- C# ComboBox自动完成功能的示例
- C# ComboBox自动完成功能的示例
- wxpython comboBox 自动完成提示功能
- 具有自动完成功能的ComboBox(源码、原创)
- 输入框输入的自动完成(Edit .ComboBox)
- 利用ComboBox自带属性完成自动补全功能
- 继承 System.Windows.Forms.ComboBox 实现支持自动完成功能的 ComboBox!个人感觉还可以!!!
- MFC COMBOBOX 短代码 实现的自动匹配输入 自动完成 但有小缺陷
- Java事件模型学习(2)--实现自己的事件
- AT91RM9200启动机制简析
- 数据库备份与还原
- //题目:输入一个年份,判断是否有闰年. 碰到一个问题```
- 编号08问题解决(C语言)————箱子
- 自动完成Combobox小结
- docbook初步使用指南
- AT91RM9200的U-BOOT启动烧写过程【转】
- 站长做网站友情链接不可忽视的几点
- 关于字符串数组 TCHAR char WCHAR
- __attribute__ 详解
- mysql导入sql文件:Mysql导入导出.sql文件
- __FILE__,__LINE__等在哪儿定义的?
- 使用正则表达式来防止SQL注入攻击