编译环境:Microsoft Visual C++ 6.0
程序类型:对话框程序
问题:目前我使用的是在按键的属性中caption(&)方式添加快捷键,但是只能在我打开程序后第一次使用。也就是说,当我按下任一一个设置好的快捷键,完成相应功能(重新绘制了图形)后,所有的快捷键都失效了。直到我重启程序后才继续有效。这是怎么回事呢?
    我试过,如果第一次快捷键完成功能后,我先选中其他界面,然后再选中我的应用程序界面,快捷键又好用了,但仍然仅有效一次。如此反复。
    我推测是不是我按键消息发送的窗口不对才导致成这样的。
    
    明天急着改出来,没时间多作调试了,希望有知道的帮帮忙。不甚感谢!

解决方案 »

  1.   

    得看你怎么实现的
    你的TranslateAccelerator在哪里调用的?
      

  2.   

    使用完后setfocus()设置焦点试试。可能是你的程序改变了窗口的焦点
      

  3.   

    嘿嘿,应该是焦点问题。
    不过我试了几下,用setfocus()把控件窗口的焦点设置后,还是没解决问题。后来我就直接放弃这种我本来以为最简单的方法,现在使用的是注册热键的方法,很好用。已实现。
    谢谢各位的帮助!