好奇怪的问题!!!
在TEdit控件的OnKeyPress事件中捕获输入的中文字符.按理来说输入一个中文字符应该触发两次OnKeyPress事件.却发现一个很奇怪的问题.如果在最前面加个对话框就可以正常捕获两个字符代码.如果不加,只能捕获高8位的字符.代码如下:
MessageDlg(IntToStr((int)Key), mtWarning, TMsgDlgButtons() << mbOK, 0);
static int iInputCount;
static AnsiString sStr;
if( Key < 0 ) // 如果输入的字符是中文字符
{
if(iInputCount == 0)
{
sStr = AnsiString(Key);
iInputCount++;
}
else if(iInputCount >= 1)
{
sStr = AnsiString(Key) + sStr;
iInputCount = 0;
MessageDlg(sStr, mtWarning, TMsgDlgButtons() << mbOK, 0);
}
}