自动完成编辑控件






4.69/5 (8投票s)
一个提供小数据集自动完成功能的编辑控件。
本文描述了一个用于自动完成编辑控件的类(CACEditCtrl
),它可以用于小型数据集,例如最近使用的账号等。
它通过遍历 STL 字符串集合,并尝试在条目中找到匹配的起始子字符串来工作。这不是最高效的方法,但对于小型数据集来说效果很好。
感兴趣的两个函数是
void AddACEntry( LPCTSTR cpEntry )
void DisableAC( bool bDisable = true )
AddACEntry(...)
函数用于将字符串添加到控件的字符串集合中。不进行重复检查。为什么?因为此控件充当数据的容器,而不是数据管理器。
DisableAC(...)
函数允许您打开或关闭自动完成功能。
在上面的演示图像中,编号的对话框显示了控件的操作,如键入 3 个字符:“T”、“h”和“a”,如下所示
- 未键入任何字符
- 键入了“T”,并自动完成了它的第一个匹配项
- 键入了“h”,同上
- 键入了“a”,没有匹配项可以自动完成
使用条件详述在头文件和源文件(s)中.
如有任何问题,请随时与我联系。玩得开心。