实现ComboBox输入文字的自动完成

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)
{
lastkey = 0 ;
return ;
}
lastkey = 0 ;
// 确保使用者没有在中间插入字符
if (ComboBox1->SelStart != value.Length ())
return ;
// 在下拉列表中寻找匹配项.
int index = SendMessage (ComboBox1->Handle, CB_FINDSTRING, -1, (LPARAM) value.c_str ()) ;
if (index >= 0)
{
// 找到匹配项并显示.
ComboBox1->ItemIndex = index ;
String newtext = ComboBox1->Text ;
SendMessage (ComboBox1->Handle, CB_SETEDITSEL, 0, MAKELPARAM (value.Length (), -1)) ;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
// 按下的最后一个键值.
lastkey = Key ;
}
//---------------------------------------------------------------------------

时间: 2024-08-07 12:30:18

实现ComboBox输入文字的自动完成的相关文章

win7系统在word中输入文字会自动被覆盖怎么回事

  win7系统在word中输入文字会自动被覆盖怎么回事?办公中经常使用word文档编辑编辑和排版,win7系统电脑安装word文档后,在word中输入文字,不知道哦啊怎么回事,打出来的字会总被覆盖了,或者被后面的字吃掉,有时候在word文档中复制也会遇到这样的情况.刚刚开始已经是缓存反应慢的问题,但是后来才知道文字时被覆盖不见了,怎么办呢?下面小编介绍几种解决方法,大家可参考下. 方法一: 1.这种问题一般是由于word的改写模式导致.先打开WORD软件; 2.观察右下角的"改写"是

swift lable-swift里如何键盘输入文字时,原来lable里的字自动清除

问题描述 swift里如何键盘输入文字时,原来lable里的字自动清除 如图片所示,当"输入手机号/账号"的lable里,输入文字时,"输入手机号/账号"这些字清除掉了.应该怎么写呢?我是初学者,希望大家多多指教,谢谢,谢谢 解决方案 http://www.cocoachina.com/bbs/read.php?tid-244704.html

jsp编码问题,新建jsp文件是utf-8编码,输入文字之后就自动变成了系统默认编码了。

问题描述 jsp编码问题,新建jsp文件是utf-8编码,输入文字之后就自动变成了系统默认编码了. 新建jsp的编码: 输入中文文字后的编码: 小弟没有C币了,求好心人解答!!!QAQ 解决方案 用工具myeclipse或eclipse写

文本框输入文字,标题栏自动变成“正在输入

问题描述 文本框输入文字,标题栏自动变成"正在输入 文本框输入文字,标题栏自动变成"正在输入",这个怎么实现?怎么在文本框输入文字的时候在标题栏显示"正在输入"? 解决方案 onfocus设置window.title=document.title;document.title='正在输入..' onblur document.title=window.title 解决方案二: edittext 有个监听方法.http://www.cnblogs.com/g

ComboBox控件输入文字后定位到那一条

问题描述 ComboBox控件我绑定了DataSource,现在想输入文字后,循环控件,只要碰到的第一个包含我输入的文字,就定位到那一条,如何实现,我输入文字,比如"法院",但是我拿ComboBox.Text,只能拿到"法"字,为什么啊,如何实现这个 解决方案 解决方案二: 解决方案三:http://bbs.csdn.net/topics/70420890

combo box-Qt5 中窗口全屏状态下,ComboBox的下拉框无法显示?以及文本输入框输入文字时无法切换输入法?

问题描述 Qt5 中窗口全屏状态下,ComboBox的下拉框无法显示?以及文本输入框输入文字时无法切换输入法? 主要是全屏状态下时会出问题! Qt5 中窗口全屏状态下,ComboBox的下拉框点击后无法显示,但仍然可以选中!以及文本输入框输入文字时无法切换输入法!!该怎么解决!!求大神 解决方案 http://www.oschina.net/question/2001267_194321 解决方案二: 有没有大神可以解决下啊,或者可以提供一些思路啊!! 解决方案三: 好像是由于父窗口中存在qml

得到/设置DropDown ComboBox的文字

在使用DropDown类型的ComboBox时,如果使用者输入非ComboBox中列出的值,那么ComboBox的GetCurSel()的值是CB_ERR,相关的GetLBText()和GetLBTextLen()因为没有index也就无法工作. 在DDX时,可以把ComboBox和CString对应起来,采用它的原理,就可以自己来得到或设置DropDown ComboBox的文字了. //得到ComboBox的文字 void GetComboBoxString(HWND hWndCtrl, C

如何随心所欲使用WPS文字的自动编号和多级编号

WPS文字的自动编号和多级编号通常是初级教程里的内容,可是不少人用起来不习惯,搞不清楚这编号到底咋自动的. 我在写毕业论文时,要求排版格式要规范,章.节的编号层次要清晰,图.表和公式也是要编号的.对于上万字,几十页的长文档,需要编号的项目是比较多的,而且文章中还要引用其它位置的编号项.如果手动编号的话,正常输入时根据上文的编号递增,如果文档比较长,要翻好几页才找能到上一个编号,这尚可以忍受.可是编辑过程中难免增删,编号就要随之调整,这带来的工作是及其繁琐的. 下面用一个不太实际的例子来说明手工编

Word表格中输入文字列宽发生变化

  Word在创建了文档后,然后插入了表格,当在表格中输入文字的时候,表格宽度会随着文字变化. 在Word中表格的宽度会根据文字的大小进行自动调节尺寸.如果在表格中输入的文字超过了列宽,就会自动进行调整列宽的尺寸.如果不需要自动调整,可以根据以下方法进行设置. 1.选中表格后,再选择"表格"→"表格属性". 2.选择"表格"选项,然后单击"选项",在"表格选项"中,将"自动重调尺寸以适应内容&qu