提升用户输入效率的最佳做法之一是,为TextBox 与 ComboBox 控件加入自动完成功能。所谓自动完成功能,也就是当用户在输入某一个词句的时候,与已经输入的句首或词首相符的词句就会自动填入或显示出来让你选择。比如现在的google搜索的时候,你随便输入一点东西,会弹出与你输入最相近的一些搜索关键字。在.net中这个功能是很容易的,已经有相应的属性可以供使用。在vc6.0中好像没有,似乎没有这个功能。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)使用以下代码可以简单的实现这个功能:
对ComboBox控件添加CBN_EDITCHANGE消息的处理函数,也就是当有输入发生改变的时候,自动调用该函数
添加代码如下:
假设ComboBox控件变量是 m_cbUserName, 临时变量 CString strTmp;则:
m_cbUserName.GetWindowText(strTmp);
int iLen = strTmp.getlength();
//...如果ilen=0可以直接返回
if(m_cbUserName.FindSTring(-1, strTmp) != -1)
{
m_cbUserName.SelectString(-1, strTmp);
}
m_cbUserName.SetEditSel(ilen,-1);
唯一的缺陷就是,如果你的列表中有王二小,而你又只想输入 王二 的话......
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)