真心请教:RichEdit 控件中汉字输入无法捕捉到消息

HSpider 2012-03-22 02:38:00
我用PreTranslateMessage通过捕获WM_CHAR能得到英文输入,但却得不到中文输入!每次输入中文都直接上屏, PreTranslateMessage 中捕获WM_CHAR的代码没有任何反应,求大神相助!
度娘,狗哥都找过,有类似的问题确没有找到好的解决办法,实在没办法了!人穷分少莫嫌弃!
...全文
61 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lc36386714 2012-08-22
怎么我按照你的方法还是不能接收到中文输入的消息呢?
回复
HSpider 2012-03-22
谢谢 (AaronJie(混混猪)) 猪的全程关注,问题已解决!不过对于解决原理还不是特别清楚,还是欢迎讨论指教!
解决办法如下:
捕捉WM_KEYDOWN消息,然后把消息句柄换成当前对话框(即EDIT父窗口)的句柄,然后就可以接收到了!

if( WM_KEYDOWN == pMsg->message )
{
pMsg->hwnd = m_hWnd;
}

将上面两句代码加入到PreTranslateMessage之后,捕捉WM_CHAR的代码块就能接收到中文输入了!
具体理论还是继续请高人指点!先结贴了!
回复
HSpider 2012-03-22
试过,也捕捉不到!
回复
jieleiping 2012-03-22
WM_IME_CHAR消息呢?
回复
HSpider 2012-03-22
用正常的输入法打出中文字后直接就上屏到控件中去了!查的一些资料都是说会发送两个WM_CHAR 消息的,可PreTranslateMessage里面就是捕捉不到,而英文字符和数字都没有问题! 谢谢回复!
回复
jieleiping 2012-03-22
我猜想输入中文是要借助第三方的程序,而第三方程序一旦起作用,你的窗口也就失去了焦点,就没有办法捕获。
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2012-03-22 02:38
社区公告
暂无公告