为什么我在WM_CHAR里不能得到中文??(200分)

  • 主题发起人 主题发起人 coolcat
  • 开始时间 开始时间
C

coolcat

Unregistered / Unconfirmed
GUEST, unregistred user!
如题。<br><br>为什么我在<br>procedure WMCHAR(Var Msg:TWMKEY);message WM_CHAR;<br>procedure WMCHAR(Var Msg:TWMKEY);<br>begin<br>&nbsp; ShowMessage(WideChar(Msg.CharCode));<br>end;<br>这样不行,如何得到中文
 
不可能得到中文字符,只能在事件里自己组合
 
怎么组合??<br><br>为什么TCustomEDIT就行。。
 
中文一般都是两个字符,分两次得到的
 
说说具体的方法。。
 
好像中文的用两个组成的,先声明一个变量,然后将第一次的wm_char存入此中,第二次<br>时判断变量是否有值,如果有就组合起来判断是否为中文,如果是那么就输出,不是就存<br>入变量,继续下一次判断(好像是也要存入变量进行下一次吧)<br><br>怎么判断是否为中文,请看以前的贴子
 
我看过CustomEDIT的Source.不是这么做的。。
 
Please see VCL source.
 
如果你用 WM_CHAR<br>判断值是否大于等于 $A0<br>将第一次和第二次的值组合起来就OK了<br>
 
多人接受答案了。
 
后退
顶部