I have a handler consuming the keyDown event of a WinForms RTB, that has the following code:
GetTextAtLoc(RTB->SelectionStart); // selects some text at the caret's position
RTB->SelectedText = "SomeOfMyOwn";
GetTextAtLoc(RTB->SelectionStart); // selects the replacement string
RTB->SelectionStart += RTB->SelectionLength - 1;
While this code seems to do its job (SelectionStart/Length properties are updated correctly), the caret doesn’t move to the end of the new string – It says right where it was at the time of GetTextAtLoc’s first call. Redrawing the textbox doesn’t seem to have any effect either.
The problem seems to have fixed itself. Dunno what brought about the change, unfortunately. Closing this thread.