VC CComboBox控件自动匹配输入的关键字

要做个Find对话框,用MFC的CComboBox控件,在编辑框中输入关键字,能在保存的历史搜索记录中自动匹配,类似百度和google的搜索框,在网上google了一遍,有自己封装一个CComboBox类的,有借助数据库来实现,都比较复杂,自己根据网上的资料,就用MFC的CComboBox类成员函数实现了自动匹配效果,没有再封装,简单易行。


要实现自动匹配,有两点要解决:

1、历史输入的关键字要保存,在程序下一次启动运行能读入到CComboBox的下拉列表框;

2、在编辑框输入关键字,每输入一个字符,就能在下拉列表框中自动匹配,并把匹配到的历史关键字显示在编辑框中;


第1点,我是用一个tmp文件来解决,即在Find对话框每次关闭时将新输入的关键字和CComboBox下拉列表框中的历史关键字写入一个tmp文件,我命名该文件为keyword.txt,和程序exe文件放在同一个目录下,在Find对话框每次启动时在OnInitDialog中读入keyword.txt中的关键字,并通过AddString方法一一存入CComboBox;


第2点,一是响应CComboBox控件的CBN_EDITCHANGE消息,二是在PreTranslateMessage中响应回车键,这两个消息处理好,也就完全实现了CComboBox控件自动匹配输入关键字的功能。


废话少说,看代码:





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值