Enrico,
If you run the testedi2.prg that I published here, and change the variable this way:
local oDlg, cTest := "Hello world "
then if you press end, it goes to the end of the string (including spaces) and we do nothing with the keyboard there. In fact, I have declared both methods as virtual:
METHOD KeyDown() VIRTUAL
METHOD KeyChar() VIRTUAL
So it seems as this is the default behavior. I have also removed ES_AUTOHSCROLL from the RC and the same behavior.
More over, if you test it from PellesC resources editor, you will see that if you add some spaces to the end of the text, the caret goes to the end of the spaces. So the only way not to have that behavior is that the variable have NO spaces at the end.
Maybe I am missing something...