Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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, то после выполнения процедуры эта строка оказывается первой в видимой области.
Вопрос:
Как сделать так, чтобы видимое положение строк оставалось неизменным при любых телодвижениях. Т.е. пользователь не должен терять места, где до замены находился курсор.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)