Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Hard to kill key-event....

From: jfdutcher1958::yahoo::com at: 16-Jun-2004 12:39

The code snip below traps key presses nicely......what I don't get is why when I do: 'return none' as shown, due to satisfaction of the 'if' statement that checks for the length of the face field, the relavant 'face/text' still appears to get updated with the very character I think I am preventing from getting there....(ala: 'return none'). The next key-event handled re-triggers the same error. The 'fields' involved (style 'numbox') all show (2) or less characters in them in the GUI, so the 3rd character never got displayed after 'return none' which is good ... but appears to be continuing to affect the length of 'face/text' ??? ****************************** <pre> key-event: func [face event] [ if event/type = 'key [ ch: event/key if ch = 'left [return event] if ch = 'right [return event] if ch = #"^-" [return event] if not find "0123456789" ch [alert "Only digits can be entered" return none] foreach face lotto-layout/pane [ if face/style = 'numbox [ if 2 < (1 + length? face/text) [alert "Maximum of two digits per box" return none ] ] ] ] if event/type = 'close [ print "Removing event function" remove-event-func :key-event unview/all ] RETURN event ] </pre>