关于向指定句柄窗口发送字符消息的问题(50)

  • 主题发起人 主题发起人 jhddx
  • 开始时间 开始时间
J

jhddx

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tautochat.SendDBCSString2(hFocus: HWND; const sSend: string); //发送字符var k : integer; ch : byte;begin k := 1; while k <= Length(sSend) do begin ch := byte(sSend[k]); if Windows.IsDBCSLeadByte(ch) then begin Inc(k); postMessage(hFocus, WM_IME_CHAR, MakeWord(byte(sSend[k]), ch), 0); end else postMessage(hFocus, WM_IME_CHAR, word(ch), 0); Inc(k); end;end;代码如上,对大多数文本编辑框,能正确发送中文和英文,但有一个游戏就是发不了中文,能发英文和数字...请问下这是什么原因呢?
 
ch不要定义为byte,定义为widestring就OK,我也有这问题,后来是这样解决的.
 
TO leadroy如果定义为widestring,那下面消息中怎么传送这些字符呢
 
多人接受答案了。
 
后退
顶部