[REBOL] Re: Disabling shortcut Keys for text field entry?
From: brett:codeconscious at: 8-Jul-2001 18:12
Here's another way. You could change the detect function of
system/view/window-feel which is reponsible for handling
shortcut keys. I've put an example below. My example is bloated by some
supporting code that allows me to install the
change and uninstall it again later.
The bit that makes it work is the function "install-nofieldshortcuts".
Note that in the version of the code shortcuts are "turned off" for fields
but still operational for areas so you can compare.
install-nofieldshortcuts: does [
system/view/window-feel: make system/view/window-feel [
detect: func [face event] [
either all [
event/type = 'key
system/view/focal-face
system/view/focal-face/style
equal? system/view/focal-face/style 'field
] [event] [old-detect face event]
]
old-detect: get in system/view/window-feel 'detect
]
]
uninstall-nofieldshortcuts: does [
use [wf] [
wf: system/view/window-feel
set in wf 'detect get in wf 'old-detect
]
]
view layout [
button "press" #"a" [print "button pressed - a"]
field
do [
print "Installing shortcut trap"
install-nofieldshortcuts
print "Installing event function"
evtfunc: insert-event-func [
if equal? event/type 'close [
print "Removing shortcut trap"
uninstall-nofieldshortcuts
print "Removing event function"
remove-event-func :evtfunc
]
RETURN event
]
]
]
HTH
Brett.