How to catch Del and Delete key press ?

I have an editor from made from scrach, however, I never
get WM_KEYDOWN send to me, when Del or Delete key pressed.
I would like the use not only use backspace but also Del
and Delete key.

Any Solutions

Thank you very much
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Are you absolutely sure you're not getting a WM_KEYDOWN? According to the documentation you should get one with bit 24 in the flags turned on (for extended key). I believe it should be flagged as VK_DELETE character.
gaohongAuthor Commented:
I am sure I did not get WM_KEYDOWN message, when Del or Delete
key is pressed. Except those two keys, all the other key press

It is not something I missed WM_KEYDOWN, because the message callback is never entered when Del or Delete key pressed. However, I do notice an editor control did
response to the Del or Delete key, while a normal window does not, so it must be something tricky.

Sorry I have to refuse your answer.
TranslateMessage changes these to WM_CHAR & WM_SYSCHAR messages.
Amazon Web Services

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

TranslateMessage changes these to WM_CHAR & WM_SYSCHAR messages.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gaohongAuthor Commented:
Are you sure, md ?  Because, neither I get WM_CHAR message when
Del or Delete key pressed.  I will try WM_SYSCHAR. Could you little bit more clear

Thanks, md
gaohongAuthor Commented:
md, could not catch WM_SYSCHAR, WM_SYSKEYDOWN neither, when
Del or Delete key pressed. Any idea ?
No, this is a new one one me.  Are you using a framework, or straight Windows?
gaohongAuthor Commented:
I am using TWindow of OWL. The problem is my window does not
get notified on either Del or Delete key presses. In any of following catcher

However, I do notice that my editor control, did catch them,
while the TEditFile window does not (one of editor I use in my

Any idea ?
What about using a utility like Spy++ to figure out if the message gets to the window (and it's "eaten" somewhere in the code) or not?

Davide Marcato.
This is sent to the Windows edit control directly through DispatchMessage.  The only way to get around this is to overload TApplication::ProcessMsg(MSG& msg).
When the Delete key or the Del (.) key without NumLock is pressed, the WM_KEYDOWN message (VK_DELETE) is sent. It is not translated to WM_CHAR or WM_SYSCHAR message. When the Del (.) key with NumLock is pressed, the WM_KEYDOWN message (VK_DECIMAL) is sent and the WM_CHAR (VK_DELETE) is also sent. You should get the WM_KEYDOWN message each time a key is pressed. Check your message loop.
gaohongAuthor Commented:
Thanks for all your guys comments and answer. It seems that
Application's PressMsg() eaten up the Del and Delete key.
After change, It did response to the Delete key now.

Gaohong Xie
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Development

From novice to tech pro — start learning today.