Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1037
  • Last Modified:

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?
0
qocarlos
Asked:
qocarlos
1 Solution
 
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
 
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
 
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

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now