How hard is adding features to Richedit? It's not too bad! EM_GETFIRSTVISIBLELINE was a 25 line change