Robert asked: >How does one, as an edit field is being typed into, know that the >field is being typed into, so one can update that or other fields >based on the current value typed? Robert, You could intercept the keystroke with ON EDIT. This allows you to use the arrow and delete keys. Just a thought. Ken '------ Feeding keystrokes in FB^3 ------- LOCAL FN buildWindow DIM AS RECT r DIM AS INT i EDIT = 3 SETRECT( r, 0, 0, 350, 220 ) WINDOW -1,"",@r,_docNoGrow SETRECT( r, 20, 20, 100, 33 ) EDIT FIELD -1,"",@r,_framed,_leftJust FOR i = 2 TO 5 OFFSETRECT( r, 0, 24 ) EDIT FIELD -i,"",@r,_framed,_leftJust NEXT i SETRECT( r, 110, 20, 330, 33 ) EDIT FIELD -6,"",@r,_statNoframed,_leftJust FOR i = 7 TO 10 OFFSETRECT( r, 0, 24 ) EDIT FIELD -i,"",@r,_statNoframed,_leftJust NEXT i EDIT$(6) = "This field is limited to numbers" EDIT$(7) = "The rest accept all characters..." EDIT$(8) = "...plus the input from EF 1." SETRECT( r, 280, 180, 330, 200 ) BUTTON 1,1,"Quit",@r,_shadow EDIT FIELD 1 WINDOW 1 END FN LOCAL FN doDialog DIM AS INTEGER evnt, id evnt = DIALOG(0) id = DIALOG(evnt) SELECT CASE( evnt ) CASE _wndClose SELECT( id ) CASE 1 : gFBQuit = _zTrue END SELECT CASE _btnClick SELECT( id ) CASE 1 : gFBQuit = _zTrue END SELECT END SELECT END FN LOCAL FN doOtherFields( keyStr AS STR15 ) DIM AS int i FOR i = 2 TO 5 EDIT$(i, _minInt, _maxInt) = keyStr NEXT i END FN LOCAL FN copyOtherFields DIM AS INT i FOR i = 2 TO 5 EDIT$(i) = EDIT$(1) NEXT i END FN LOCAL FN doEdit DIM AS STR15 theKey DIM AS INT id, passValue theKey$ = TEKEY$ id = WINDOW(_efNum) SELECT CASE theKey$ CASE "0","1","2","3","4","5","6","7","8","9" SELECT id CASE 1 TEKEY$ = theKey passValue = ASC(TEKEY$) FN doOtherFields( theKey ) CASE ELSE TEKEY$ = theKey END SELECT CASE CHR$(8),CHR$(28),CHR$(29),CHR$(30),CHR$(31) SELECT id CASE 1 TEKEY$ = theKey FN copyOtherFields CASE ELSE TEKEY$ = theKey END SELECT CASE ELSE SELECT id CASE 1 CASE ELSE TEKEY$ = theKey END SELECT END SELECT END FN ON DIALOG FN doDialog ON EDIT FN doEdit FN buildWindow DO HANDLEEVENTS UNTIL gFBQuit END