[comp.sys.mac.hypercard] Screen Updating Quirks

v398l78e@ubvmsd.cc.buffalo.edu (William E de Roo) (04/17/91)

  Can anyone explain this to me &/or suggest a fix?
  I am intercepting characters typed into a field, using a keyDown
handler.  My goal is to know when text is the field is deleted
(i.e., when backspace is pressed), and when it is replaced (i.e.,
when the user makes a selection, then types 'over' it).  The
problem arises when I pass the keyDown message on so that Hyper-
Card can actually do the typing as usual.  Whenever I backspace
or replace text, my handler notes which line(s) are affected so
I can do some other things later (on idle); then I pass (or 
send -- same problem) keyDown on.
  The problem is that HyperCard doesn't update the whole screen
area of the field after it does the delete/replacement, so I
get half-lines, duplicate lines, and phantom lines on the screen
that aren't really there.  I tried adding statements like lock &
unlock screen, go to this card, and choose browse tool, but these
all lose the insertion point in the field, and I don't want to 
interrupt the user's typing.  I have run the stack sans inits, so
I know an init conflict isn't the issue.  It's a HyperCard 2.0
stack, by the way.
  Any ideas?

-- Bill De Roo