IF BETWEEN(nKeyCode, 32, 256) FOR x = 1 TO this.ListCount IF UPPER(SUBSTR(this.list(x), 1, this.selstart+ 1)) = ; UPPER(SUBSTR(this.text, 1, this.selstart)+chr(nKeyCode)) nCurPos = this.selstart + 1 this.Value = this.list(x) this.SelStart = nCurPos this.SelLength = len(allt(this.list(x))) - nCurPos NODEFAULT EXIT ENDIF NEXT x ENDIF in interactivechange: this.ptogrammaticchange() in programmatic Change: this.refreshgood luck from Turkey