>>*:* >>*:* Check the position of the cursor and test versus accepted range. If not, lNoDef is set >>*:* and the keypress is ignored via NODEFAULT >>*:* >>LPARAMETERS nKeyCode, nShiftAltCtrl >>LOCAL lNoDef >>lNoDef=.F. >>DO CASE >>CASE THIS.SelStart=0 >> IF !(CHR(nKeyCode) $ "01") >> lNoDef=.T. >> ENDIF >>CASE THIS.SelStart=1 OR THIS.SelStart=4 OR (THIS.SelStart=7 AND !THIS.ShowSeconds) >> IF !(CHR(nKeyCode) $ "0123456789") >> lNoDef=.T. >> ENDIF >>CASE THIS.SelStart=3 OR (THIS.SelStart=6 AND !THIS.ShowSeconds) >> IF !(CHR(nKeyCode) $ "012345") >> lNoDef=.T. >> ENDIF >>CASE (THIS.SelStart=6 AND !THIS.ShowSeconds) OR (THIS.SelStart=9 AND THIS.ShowSeconds) >> IF !(UPPER(CHR(nKeyCode)) $ "AP") >> lNoDef=.T. >> ENDIF >>ENDCASE >>IF lNoDef >> NODEFAULT >>ENDIF>>