热键与输入法冲突怎么处理

热键与输入法冲突怎么办?
写了一个对话框程序,支持许多快捷热键,例如F1,F2,F3……,还支持数字和字母,例如1,2,3,4,S,D,K,J

现在的问题是,对方框里的EDIT控件在获得焦点的情况下,无法输入已经被定义了热键的字母和数字,例如1,2,3,4

理论上可能是,热键的消息是在输入框的信息之前被派送的。

有没有办法,当输入框获得焦点时,停止热键;离开输入框后,再启用热键。更简单的解决方法也行。

请大侠们解疑!

------解决方案--------------------
消息循环中是先执行TranslateAccelerator再执行TranslateMessage,你可以自己写消息循环,先判断当前焦点如果在Edit控件上,则跳过TranslateAccelerator。