仰天常笑:请教奇怪问题!!!急!!
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key <'A') || (Key > 'Z'))
{
Key=0;
ShowMessage("error");
}
}
代码执行后,若输入一个汉字,要点击两次ShowMessage消息框才消失,若输入两个汉字,要点击四次ShowMessage消息框才消失。好奇怪哦~~
请各位高手指点!!
问题点数:0、回复次数:7Top
1 楼invalid(空心菜(Python是个好东东,大家多用用!))回复于 2003-06-04 10:03:48 得分 0
一个汉字是两个字符啊Top
2 楼vuen(阿土)回复于 2003-06-04 10:40:02 得分 0
同意楼上的,这样输入一个汉字就会触发两次KeyPress事件,所以...Top
3 楼evence(牧歌平台)回复于 2003-06-04 10:42:20 得分 0
同意。
汉字都是双字节的。Top
4 楼hitbabiq(仰天长啸)回复于 2003-06-04 11:20:43 得分 0
他们已经说清楚了。Top
5 楼jiangyuan1228(忧忧ぴ菩提)回复于 2003-06-04 11:36:23 得分 0
但是在这个事件中如何解决呢??Top
6 楼Pike_Feng(烈风)回复于 2003-06-04 11:43:58 得分 0
别在Edit1KeyPress里写代码,可以在对Edit1->Text取值之前判断。Top
7 楼shanewest1(炉子)回复于 2003-06-04 11:47:15 得分 0
对呵Top




