У меня есть приложение Winforms, содержащее RichTextBox.
Как определить, сколько строк текста отображается в настоящее время?
Причина: Я хочу прокрутить каретку до середины RichTextBox. Я могу использовать RichTextBox.ScrollToCaret(), но это помещает каретку в начало RichTextBox. Я полагаю, что если я знаю, сколько строк отображается, я мог бы перемещать каретку "назад" n/2 линии, а затем вызвать ScrollToCaret(), а затем восстановить исходную позицию каретки.
EDIT:
Я нашел EM_GETLINECOUNT, который, как я думал, был ответом, за исключением документа: сообщение EM_GETLINECOUNT извлекает общее количество текстовых строк, а не только количество отображаемых в настоящее время строк.
Тщательно, есть также EM_GETFIRSTVISIBLELINE, который получает первую видимую строку, но я не смог найти GETLASTVISIBLELINE.??