How to trap the ESCAPE key

Hello:

I'm trying to trap the escape key but unsuccessfuly.
This is what I've tried:

CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlag)
{
   if (nChar==VK_ESCAPE)
   {
        //Some code...
   }

}

However, when the escape key is pressed OnKeyDown message
is not called.

Any idea?
LVL 3
qocarlosAsked:
Who is Participating?
 
pagladasuCommented:
You should trap the PreTranslateMessage of your view class. Here is a sample code. It works for CView as well as CFormView derived classes:
BOOL CMyView::PreTranslateMessage(MSG* pMsg)
{
      // TODO: Add your specialized code here and/or call the base class
      if(pMsg->message==WM_KEYUP){
            if(pMsg->wParam==VK_ESCAPE)
                  MessageBox("RUN");
      }
      return CFormView::PreTranslateMessage(pMsg);
}

I hope this will help. Thanks
pagladasu
0
 
thresher_sharkCommented:
I don't know for sure, but is it possible that the OnKeyDown member function is not called in the view class?  Have you tried the same code in the app class (is that the term?)?
0
 
qocarlosAuthor Commented:
pagladasu,
THANKS, it works great!
What I would like to know is why I don't get the OnKeyDown function when pressing the escape key.
Anyway, thanks again for your help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.