在Tedit的onchange事件中,showmodal一个窗口,并传递回一个参数。
但是在中文输入时,如果一次输入的中文超过一个字,就会连续发生多次onchange事件,会生成多个showmodal窗口。要求在这样的情况下,只能产生一个showmodal窗口。
我用assigned函数试过了,第一次输入中文的时候,可以弹出一个窗口,以后如果再输入中文就再也不弹出窗口了。
请大侠们帮忙呀,我想要实现的功能是,一次输入多个中文字符时,只弹出一个窗口,如果分开多次输入,每输入一次中文,就弹出一个窗口。
但是在中文输入时,如果一次输入的中文超过一个字,就会连续发生多次onchange事件,会生成多个showmodal窗口。要求在这样的情况下,只能产生一个showmodal窗口。
我用assigned函数试过了,第一次输入中文的时候,可以弹出一个窗口,以后如果再输入中文就再也不弹出窗口了。
请大侠们帮忙呀,我想要实现的功能是,一次输入多个中文字符时,只弹出一个窗口,如果分开多次输入,每输入一次中文,就弹出一个窗口。
解决方案 »
- 求助在线程中创建的WebBrowser的DocumentComplete没有启动
- 为什么会出现“由于将在索引、主关键字中创建重复的值,请求对表的改变没有成功。”
- delphi有什么控件可以实现这样的图表?
- memo的使用
- 如何在Form创建时,Show之前就将窗体隐藏?开双帖加分!
- 简单!!!!大家有做有做流媒体的吗?
- pos前台的打印程序
- 一个关于添加或更新数据的问题?
- 如何做自己的特殊规格的服务器?也可以理解为"使用特殊命令的服务器"!
- 怎么在运行期间通过一个字段找出一条纪录,并修改它(不在表上操作),书上讲的不明白……
- TDBComboBox控件
- 100分!怎样使StringGrid1不同网格线的Width和Color不同?
如果分开多次输入,每输入一次中文,就弹出一个窗口。//分开多次,这多次是什么意思??是不是我输入中文,然后光标离开,如果再输入中文时,即获得焦点,然后输入中文时,再弹出窗口?
如果是的话,那么你可以判断Tedit是否获得了焦点,如果获得了,则把公共变量flag设置为:true,然后在onchange事件中:
if flag then
弹了窗口,然后把flat:=false;
避免一次得到焦点,多次输入而多次弹了窗口,不知你明白了没有;
Tedit的内容如果改变,将触发onchange事件,弹出一个showmodal窗口
比如输入词组"中国",如果分成"中”和“国”输入,将分别触发两次onchange事件。也就是说输入“中”后,弹出一个showmodal窗口,做完处理之后,再输入“国”字,弹出一个showmodal窗口。而如果你一次输入一个词组“中国”,实际上是输入了两个字,将连续触发两次onchange事件,也就是连续弹出了两个showmodal窗口。这样传递变量回主窗口的时候,你虽然对两个showmodal窗口的变量赋了不同的值,但是传递给主窗口的变量确是同一个值,所以我希望在这样的情况下,只弹出一个showmodal窗口。上面jinjazz提到用keydown,keypress,但是因为我要对输入的中文的unicode码进行分析,所以无法使用。
// 弹出