Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!ub!ubvmsd.cc.buffalo.edu!v398l78e From: v398l78e@ubvmsd.cc.buffalo.edu (William E de Roo) Newsgroups: comp.sys.mac.hypercard Subject: Screen Updating Quirks Message-ID: <71353@eerie.acsu.Buffalo.EDU> Date: 17 Apr 91 11:40:01 GMT Sender: news@acsu.Buffalo.EDU Reply-To: v398l78e@ubvmsd.cc.buffalo.edu Organization: University at Buffalo Lines: 23 Nntp-Posting-Host: ubvmsd.cc.buffalo.edu News-Software: VAX/VMS VNEWS 1.3-4.5 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