在一个对话框上有很多窗口,包括create出来的子对话框、而这是对话框就不能响应WM_KEYDOWM消息,我在对话框用DefWindowProc()想拦截WM_KEYDOWN消息,但也没有抓住,不知道到底要用什么办法才能抓住。因为我想完成一个像计算器差不多的东西。

解决方案 »

  1.   

    对话框上如果有能够接受键盘焦点的控件窗口,那么这个对话框就不能响应M_KEYDOWM消息了。
    推荐你注册热键或者使用加速键资源。
      

  2.   

    你的eidt 框接受notify 事件吗?把它设置成接受notify就可以在程序中加入消息mapping 来捕获消息了。
      

  3.   

    to:mixtrue
    我并不是在Edit上阿。
      

  4.   

    to: titilima(李马)(titilima.yeah.net)
    如何注册热键阿!
      

  5.   

    可以在PreTranslateMessage(MSG *pMsg)函数中拦截.
    if(pMsg->message == WM_KEYDOWN)
    {
          ....;//你的处理
          return 1L;
    }
      

  6.   

    to:WooSir(吴Sir) 你这个方法是拦截不住的。