Solved

How to catch Del  and Delete key press ?

Posted on 1997-08-28
12
1,146 Views
Last Modified: 2013-12-03
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
0
Comment
Question by:gaohong
12 Comments
 
LVL 3

Expert Comment

by:Melange
ID: 1405029
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.
0
 
LVL 3

Author Comment

by:gaohong
ID: 1405030
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
I got WM_KEYPRESS.

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.
0
 
LVL 4

Expert Comment

by:md041797
ID: 1405031
TranslateMessage changes these to WM_CHAR & WM_SYSCHAR messages.
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 4

Accepted Solution

by:
md041797 earned 60 total points
ID: 1405032
TranslateMessage changes these to WM_CHAR & WM_SYSCHAR messages.
0
 
LVL 3

Author Comment

by:gaohong
ID: 1405033
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
0
 
LVL 3

Author Comment

by:gaohong
ID: 1405034
md, could not catch WM_SYSCHAR, WM_SYSKEYDOWN neither, when
Del or Delete key pressed. Any idea ?
0
 
LVL 4

Expert Comment

by:md041797
ID: 1405035
No, this is a new one one me.  Are you using a framework, or straight Windows?
0
 
LVL 3

Author Comment

by:gaohong
ID: 1405036
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

    EvSysKeyDown()
    EvSysChar()
    EvKeyDown()
    EvChar()
However, I do notice that my editor control, did catch them,
while the TEditFile window does not (one of editor I use in my
program).

Any idea ?
0
 
LVL 4

Expert Comment

by:davmarc
ID: 1405037
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.
0
 
LVL 4

Expert Comment

by:md041797
ID: 1405038
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).
0
 
LVL 23

Expert Comment

by:chensu
ID: 1405039
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.
0
 
LVL 3

Author Comment

by:gaohong
ID: 1405040
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
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Event ID 10010 3 77
Clean Uninstall of VS Professional 2015 5 60
Visual Studio 2015 locks debug executable 9 243
SSRS Deployment problem 5 94
This article describes how to add a user-defined command button to the Windows 7 Explorer toolbar.  In the previous article (http://www.experts-exchange.com/A_2172.html), we saw how to put the Delete button back there where it belongs.  "Delete" is …
zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question