Hi list, I''ve encountered a strange issue when trying to create a type-ahead TextField (a textfield where the text will be autocompleted if it matches some value in an array). Specifically, I am trying to create a system where the "guessed at" part is automatically selected, so the next character the user types overwrites it. i.e.: I have this array of values: ["able", "apartment", "apple"] The user wants to input "apple", so he types "a", and the textfield is populated with "able", with the "ble" part selected. Now, when he presses "p", the "ble" is automatically deleted (since it is selected), and the textfield become "apartment", with "artment" selected. Finally, when the user types p again, the textfield will become "apple" with "le" selected. Hopefully that explains the intent. My problem is this: the first time I autocomplete, the selection works beautifully, but when the user types a character with something selected, autocompletion works again, but the text isn''t selected. Furthermore, if the user were to hold down shift and hit left, the selection appears (i.e. it will be going from the end of the text he actually typed up to but not including the last character). So, it''s as if the text is "sort of" selected, but the problem is that if the user types at this point, the text is just appended to the end. This sounds very complicated, so here''s another attempt to explain. Consider text between < and > to be "selected". User presses "a" -> a<ble>, presses "p" -> apartment (no selection), presses "p" again -> apartmentp. If there is nothing selected when the user presses a character, it will select properly. Is there a different message I need to be responding to in the case of "typing over" selected text? A further complication to the situation is that I''m doing this w/ the TextField in a ComboBox. So, I set up a map for the SEL_CHANGED event within the ComboBox. Code is below. The TypeAheadCombo takes as its third parameter an array of autocomplete values. Hopefully, people see what I''m getting at and what the problem is. -Patrick ==CODE=class TypeAheadCombo < FXComboBox include Responder def initialize(parent, nc, fields, *args) super(parent, nc, *args) yield(self) @fields = fields @prev_prefix = "" init_events enable end def create super end def init_events FXMAPFUNC(SEL_CHANGED, ID_TEXT, :on_changed) end def on_changed(sender, sel, data) prefix = data[0...sender.cursorPos] old_length = @prev_prefix.length @prev_prefix = prefix re = Regexp.new(data) txt = @fields.detect { |val| (val =~ re) == 0 } if txt and (prefix.length > old_length) and (sender.cursorPos =sender.text.length) sender.text = txt sender.setSelection(sender.cursorPos, sender.text.length) end end end ==Would be created thusly:=TypeAheadCombo.new(parent, numColumns, ["able", "apartment", "apple"])