| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > И снова RichEdit |
| Автор: CHERRY 20.4.2007, 16:37 |
| После поиска и замены в файле, необходимо вернутся к тому месту с которого все начиналось (LineNumberY, CharNumberX) Procedure TRichEdit.MoveTo(LineNumberY, CharNumberX: Integer); Begin RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, LineNumberY, 0) + CharNumberX; RichEdit.perform(EM_ScrollCaret,0,0); end; ставит курсор в позицию LineNumberY, CharNumberX и делает скроллинг к этому месту. Но если строка LineNumberY была например 10-й сверху в видимой области RichEdit, то после выполнения процедуры эта строка оказывается первой в видимой области. Вопрос: Как сделать так, чтобы видимое положение строк оставалось неизменным при любых телодвижениях. Т.е. пользователь не должен терять места, где до замены находился курсор. |