MFC如何实现自动补全和智能提示功能?


就像windbg命令输入框那种效果,输入!ht会提示或者自动补全为!htrace,应该用哪一个控件?怎样实现呢?

GUI开发 mfc windows

Draugur 12 years, 1 month ago

MFC没有这种控件,要实现这样的功能需要自己实现,具体的实现原理如下:

  1. 重载一个CEdit的控件。
  2. 在自己重载的CEdit控件的OnTextChange事件。
  3. 在OnTextChange事件中,重新获取控件中输入的文字。
  4. 利用获取的文字到数据库中按照字符的顺序模糊匹配。
  5. 找到匹配度最高的单词。
  6. 将匹配的单词提示给用户。

提示用户的方式可以采用直接输入到Edit控件中,也可以通过下来菜单的方式实施显示所有的结果,这个看具体的需求。

lvmusic answered 12 years, 1 month ago

Your Answer