Vc6中实现CComboBox的自动完成功能

2016-02-19 20:11 6 1 收藏

下面是个Vc6中实现CComboBox的自动完成功能教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - 编程语言 】

提升用户输入效率的最佳做法之一是,为TextBox 与 ComboBox 控件加入自动完成功能。所谓自动完成功能,也就是当用户在输入某一个词句的时候,与已经输入的句首或词首相符的词句就会自动填入或显示出来让你选择。比如现在的google搜索的时候,你随便输入一点东西,会弹出与你输入最相近的一些搜索关键字。在.net中这个功能是很容易的,已经有相应的属性可以供使用。在vc6.0中好像没有,似乎没有这个功能。

    使用以下代码可以简单的实现这个功能:

对ComboBox控件添加CBN_EDITCHANGE消息的处理函数,也就是当有输入发生改变的时候,自动调用该函数

添加代码如下:

假设ComboBox控件变量是 m_cbUserName, 临时变量 CString strTmp;则:

m_cbUserName.GetWindowText(strTmp);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

int iLen = strTmp.getlength();

//...如果ilen=0可以直接返回

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

if(m_cbUserName.FindSTring(-1, strTmp) != -1)

{

    m_cbUserName.SelectString(-1, strTmp);

}

m_cbUserName.SetEditSel(ilen,-1);

唯一的缺陷就是,如果你的列表中有王二小,而你又只想输入 王二 的话......

来源:http://www.tulaoshi.com/n/20160219/1622983.html

延伸阅读
首先请从 Code Project 上下载源代码,其中包含了大量的 API 调用,还有详细的说明和示例,并且可以生成 ShellLib.dll 直接在自己的程序中调用。 源代码中介绍了如何使用 SHAutoComplete API,并演示了如何为 ComboBox 加入自定义的 StringTable,但没有说明如何为 TextBox 进行定义。其实这个功能经过少许的修改,就可以实现。 下面的代码说...
WORD lastkey ; //--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1Change(TObject *Sender) { String value = ComboBox1-Text ; // If the user tried to delete he must not want to change anything. if (lastkey == '\b' || lastkey == VK_DELETE) {...
1.插入自定义资源(Custom),将资源类型(Resource Type)设为“24”。 2.将资源ID“IDR_DEFAULT1” 改为“1”。 3.将下列文本复制到该资源的十六进制编辑器中。 ?xml version="1.0" encoding="UTF-8" standalone="yes"? assembly  xmlns="urn:schemas-microsoft-com:asm.v1"  manifestVersion="1.0" assemblyIdentity  &...
标签: Web开发
Screenshots screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('/upload/2007228153419399.gif');}" alt="" src="http://img.warting.com/allimg/...
VC6中使用CHtmlView在对话框控制中显示HTML文件              编译/赵湘宁       本文的例子程序    在Visual Studio 6.0中出现了一个新类CHtmlView,利用这个类,我们可以实现在对话框的控制中显示HTML文件。           要想使用CHtmlV...

经验教程

883

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部