do case
case nkeycode=19 and nshiftaltctrl=0
nodefault
if this.selstart>0
dodefault(nkeycode, nshiftaltctrl)
else
if this.sellength>0
this.sellength=0
endif
endif
case nkeycode=4 and nshiftaltctrl=0
nodefault
if this.sellength>0
this.selstart=this.selstart+this.sellength
else
if this.selstart=this.maxlength-1
this.selstart=this.maxlength
else
if this.selstart#this.maxlength
dodefault(nkeycode, nshiftaltctrl)
endif
endif
endif
case INLIST(nkeycode,1,6) and (nshiftaltctrl=0)
*** Эти команды кажутся бессмысленными, однако убирают глючное перескакивание курсора при нажатии клавиши {End} или {Home} ***
nodefault
dodefault(nkeycode, nshiftaltctrl)
case nkeycode=127
nodefault
if this.selstart>0
dodefault(nkeycode, nshiftaltctrl)
else
if this.sellength>0
this.seltext=''
endif
endif
endcase