aluiken
asked on
Tab Capture
Hi,
How can i trap the tab-key like a normal key instead of switching to the next control ? (TCustomEdit)
Kind regards,
Arijan
How can i trap the tab-key like a normal key instead of switching to the next control ? (TCustomEdit)
Kind regards,
Arijan
It's already doing that.... It's alwayus as a tab, and you can change it so it goes to the next control...
ASKER
No, i want to use the tab key, if i write a proc for keypress or keydown then i can not trap this key. I want to use the tab key for a function in the control..
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
How about in OnKeyDown() I think it accepts it....like
if key = VK_TAB then
caption := 'The was just pressed ;->';
or OnKeyPress()
if key = #9 then
caption := 'The was just pressed ;->';
Regards,
Viktor Ivanov
if key = VK_TAB then
caption := 'The was just pressed ;->';
or OnKeyPress()
if key = #9 then
caption := 'The was just pressed ;->';
Regards,
Viktor Ivanov
Rene, I have been struggling with this problem for some time. I have converted a complex DOS based accounting system to Windows and have been able to mimic every single aspect of DOS behavior, procedurely moving a user through an extremely complicated agricultural accounting entry, I have done everything, shut off the mouse, used the ENTER key to set focus to predetermined controls, and on press of the ENTER key I need to update variables, which dictate the twists and turns the entry procedure will take. When the user presses the TAB key however, Windows responds by sending focus on, What I need to do is intercept the actual message, at the WndProc level, modify the keycode of 9 to 13, thus tricking the system into thinking that the ENTER key had been pressed instead.
For the sake of code maintenance I don't want to update variables in the lost focus handlers because I don't want any reverse flows updating my flow flag variables. which SHIFT+TAB provides. I don't doubt that I could build a huge "mousetrap" to accomplish this, but I think that using your solution technique sounds a whole lot more appealing to me.
I tried your solution, with great anticipation, but found that the wparam that gets sent from the hook to my callback procedure is always 40, not 9 for TAB, 13 for ENTER, 27 for Escape etc... as I had expected, no matter which key is pressed.
I used your code example verbatim. Any ideas? I really appreciate your concise, elegant solution, It just didn't work for me.... I haven't done a lot of message hooking and am not really up to speed on the technique.
I am familiar with writing specific message handlers and I understand how to crack a message into wparam and lparam
I also am comfortable with function pointers.
Thanks,
Paul Steinbrueck
Windows Development Leader
FarmFact Accounting System
http://www.farmfact.com
For the sake of code maintenance I don't want to update variables in the lost focus handlers because I don't want any reverse flows updating my flow flag variables. which SHIFT+TAB provides. I don't doubt that I could build a huge "mousetrap" to accomplish this, but I think that using your solution technique sounds a whole lot more appealing to me.
I tried your solution, with great anticipation, but found that the wparam that gets sent from the hook to my callback procedure is always 40, not 9 for TAB, 13 for ENTER, 27 for Escape etc... as I had expected, no matter which key is pressed.
I used your code example verbatim. Any ideas? I really appreciate your concise, elegant solution, It just didn't work for me.... I haven't done a lot of message hooking and am not really up to speed on the technique.
I am familiar with writing specific message handlers and I understand how to crack a message into wparam and lparam
I also am comfortable with function pointers.
Thanks,
Paul Steinbrueck
Windows Development Leader
FarmFact Accounting System
http://www.farmfact.com