WM_KEYDOWN消息,在头文件的消息宏里(BEGIN_MESSAGE_MAP(...)和END_MESSAGE_MAP()之间)加上ON_WM_KEYDOWN()处理函数:
...OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
    switch (nChar)
    {
     case VK_ESCAPE : // 在这儿做你的处理
          break;
     ....
    }
}

解决方案 »

  1.   

    我不懂消息机制,如joke100所言加了此消息处理函数后,如果不处理其余的按键,那其它键的消息处理在何处进行?如果要进行处理,那当如何进行?
      

  2.   

    windows应用程序是由消息驱动的,在上面的处理函数中只响应了ESC键的消息,其他的建的消息被忽略了,要相应其他的键,可以接着添加case VK_F1:……等等键值的处理函数。
      

  3.   

    楼上的老兄说的对,但不用这么麻烦,只要打开classwizzard 选中响应key down消息的类,在右面的窗口里找到wm_keydown,双击,然后在classwizzard窗口下面的列表框里双击OnKeyDown函数,代码就会自动生成,光标停在类似如下的函数里
    YouCalssName::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
          
          YouClassName'sSuperClassName::OnKeyDown(...);//你没处理的东西有这个搞定

    如果想处理esc建可以在YouClassName'sSuperClassName::OnKeyDown(...);前加上if(nChar==VK_ESCAPE)
    {
          //you code 
    }
      

  4.   

    WM_KEYDOWN 消息
    nChar=VK_ESCAPE