Показать сообщение отдельно
Старый 20.03.2011, 22:36
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Значит так. Запоминаем текущую строку перед заменой.
Код:
int line = sci.LineFromPosition(sci.CurrentPos);
Потом, после установки текста, ее возвращаем.
Код:
sci.Text = src;
sci.GotoLine (line);
Но! Курсор будет в начале строки. Почему? Потому, что у нас будут изменения в числе общих символов (например табы на пробелы сменили), и чтобы позиционировать курсор по символам, надо будет производить ряд манипуляций, по запоминанию текста строки и восстановлении по нему позиции, а мне сейчас эти делать лень
Если вам нужно точное восстановление позиции, то скачайте исходники FD, найдите там файл trunk\FD3\PluginCore\ScintillaNet\ScintillaControl.cs и получите все методы и свойства Scintilla.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 20.03.2011 в 22:39.