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

来源:互联网 发布:mac终端获取当前路径 编辑:程序博客网 时间:2024/06/08 04:11

要做个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控件自动匹配输入关键字的功能。


废话少说,看代码:





0 0
原创粉丝点击