C++Builder 程序员博客
2 Sep
比如直接在Form上,切换出输入法,打什么字,这个字就会显示在Form上,当然英文字母可以用OnKeyDown什么的判断,可汉字怎么办?
这么深奥一个问题,不给分,实在说不过去,可惜小弟发这个贴的时候,已经没分了,打算,第二天再加分吧,没想到csdn的加分制度是最少就加100,我没有100分呀,加不了。
Form上面加了组件倒是可以,但是你这样什么都不加就要他显示,还真的是没有办法
自己在点击的地方绘制一个“会闪”的光标,然后outtext就醒了:p
下面代码已经测试通过:
if(uMsg == WM_IME_CHAR)
{
//汉字的两个字节缓冲
unsigned char *CharZh = new unsigned char[3];
CharZh[0] = (unsigned char)((Message.WParam >>
& 0xFF);
CharZh[1] = (unsigned char)(Message.WParam & 0xFF);
CharZh[2] = '\0';
//这行代码是C++Builder的,在VC应该相应的方法.
AnsiString Str = AnsiString((char*)CharZh);
// Memo1->Lines->Add("Input Text = " + Str);
delete[] CharZh;
}