Your code isn't doing the same thing that mine is. With mine, if a string of mixed sizes are selected, it individually increments or decrements each character in the selected string... a size 10 becomes a 11, and another at 28 becomes a 36 (they increase privately by 1 for 8 through 11, then by 2 for 12 through 26, and then steps from 28 to 36, 48 and 72). It is the EM_SETFONTSIZE system.
Your code is changing the size, but applying it uniformly to the string... ie. all become size 10.
Also, by mine having the same steps in my font size combo-box, I am stepping through them with its ItemIndex attribute. So it behaves the same way as EM_SETFONTSIZE.
Although your code is not doing these things, it still acted as mine does with unselected text. Hit the UP 3 times, and then the character, and you get the ? box.
I think I had not described the problem well. As just said, if I hit the UP key once or twice in succession, before hitting a character key, it works.
If I hit the UP key 3 times or more in succession, the character key will either not post or a box with a ? in it will appear... yet if I hit the character key one more time, it will post properly (and the ? box remains).
The DOWN key acts the same way, but it doesn't malfunction until I have hit the DOWN key 4 times (once more than with the UP key). Hitting the character key one more time will post the sized character after the ? box.
Rick